Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

msm::IndexRange Class Reference

#include <MsmMap.h>

Inheritance diagram for msm::IndexRange:

msm::Grid< T > msm::Grid< C1Matrix > msm::Grid< C1Vector > msm::Grid< Float > msm::GridFixed< T, N > List of all members.

Public Member Functions

 IndexRange ()
void set (int pia, int pni, int pja, int pnj, int pka, int pnk)
void setbounds (int pia, int pib, int pja, int pjb, int pka, int pkb)
int ia () const
int ib () const
int ja () const
int jb () const
int ka () const
int kb () const
int ni () const
int nj () const
int nk () const
int nn () const
Ivec lower () const
Ivec extent () const
int operator<= (const IndexRange &n)

Protected Attributes

Ivec nlower
Ivec nextent

Constructor & Destructor Documentation

msm::IndexRange::IndexRange  )  [inline]
 

Definition at line 425 of file MsmMap.h.

Referenced by msm::Grid< BlockDiagram >::extract(), msm::GridFixed< T, N >::extract(), msm::Grid< BlockDiagram >::operator+=(), and msm::GridFixed< T, N >::operator+=().

00425 : nlower(0), nextent(0) { }


Member Function Documentation

Ivec msm::IndexRange::extent  )  const [inline]
 

Definition at line 445 of file MsmMap.h.

Referenced by msm::Grid< BlockDiagram >::init(), msm::GridFixed< T, N >::init(), and GridMsg::put().

00445 { return nextent; }

int msm::IndexRange::ia  )  const [inline]
 

Definition at line 434 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), ComputeMsmMgr::doneVirialContrib(), msm::Grid< BlockDiagram >::elem(), msm::GridFixed< T, N >::elem(), msm::Grid< BlockDiagram >::flatindex(), msm::GridFixed< T, N >::flatindex(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), operator<=(), MsmBlockKernel< Vtype, Mtype >::prolongationKernel(), MsmBlockKernel< Vtype, Mtype >::restrictionKernel(), MsmGridCutoffKernel< Float, Float >::setup(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

00434 { return nlower.i; }

int msm::IndexRange::ib  )  const [inline]
 

Definition at line 435 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), ComputeMsmMgr::doneVirialContrib(), msm::Grid< BlockDiagram >::elem(), msm::GridFixed< T, N >::elem(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), operator<=(), MsmBlockKernel< Vtype, Mtype >::prolongationKernel(), MsmBlockKernel< Vtype, Mtype >::restrictionKernel(), MsmGridCutoffKernel< Float, Float >::setup(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

00435 { return nlower.i + nextent.i - 1; }

int msm::IndexRange::ja  )  const [inline]
 

Definition at line 436 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), ComputeMsmMgr::doneVirialContrib(), msm::Grid< BlockDiagram >::elem(), msm::GridFixed< T, N >::elem(), msm::Grid< BlockDiagram >::flatindex(), msm::GridFixed< T, N >::flatindex(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), operator<=(), MsmBlockKernel< Vtype, Mtype >::prolongationKernel(), MsmBlockKernel< Vtype, Mtype >::restrictionKernel(), MsmGridCutoffKernel< Float, Float >::setup(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

00436 { return nlower.j; }

int msm::IndexRange::jb  )  const [inline]
 

Definition at line 437 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), ComputeMsmMgr::doneVirialContrib(), msm::Grid< BlockDiagram >::elem(), msm::GridFixed< T, N >::elem(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), operator<=(), MsmBlockKernel< Vtype, Mtype >::prolongationKernel(), MsmBlockKernel< Vtype, Mtype >::restrictionKernel(), MsmGridCutoffKernel< Float, Float >::setup(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

00437 { return nlower.j + nextent.j - 1; }

int msm::IndexRange::ka  )  const [inline]
 

Definition at line 438 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), ComputeMsmMgr::doneVirialContrib(), msm::Grid< BlockDiagram >::elem(), msm::GridFixed< T, N >::elem(), msm::Grid< BlockDiagram >::flatindex(), msm::GridFixed< T, N >::flatindex(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), operator<=(), MsmBlockKernel< Vtype, Mtype >::prolongationKernel(), MsmBlockKernel< Vtype, Mtype >::restrictionKernel(), MsmGridCutoffKernel< Float, Float >::setup(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

00438 { return nlower.k; }

int msm::IndexRange::kb  )  const [inline]
 

Definition at line 439 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), ComputeMsmMgr::doneVirialContrib(), msm::Grid< BlockDiagram >::elem(), msm::GridFixed< T, N >::elem(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), operator<=(), MsmBlockKernel< Vtype, Mtype >::prolongationKernel(), MsmBlockKernel< Vtype, Mtype >::restrictionKernel(), MsmGridCutoffKernel< Float, Float >::setup(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

00439 { return nlower.k + nextent.k - 1; }

Ivec msm::IndexRange::lower  )  const [inline]
 

Definition at line 444 of file MsmMap.h.

Referenced by msm::Grid< BlockDiagram >::init(), msm::GridFixed< T, N >::init(), and GridMsg::put().

00444 { return nlower; }

int msm::IndexRange::ni  )  const [inline]
 

Definition at line 440 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), msm::Grid< BlockDiagram >::flatindex(), msm::GridFixed< T, N >::flatindex(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), and MsmGridCutoffKernel< Float, Float >::setup().

00440 { return nextent.i; }

int msm::IndexRange::nj  )  const [inline]
 

Definition at line 441 of file MsmMap.h.

Referenced by msm::PatchData::anterpolation(), msm::PatchData::anterpolationC1Hermite(), MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), msm::Grid< BlockDiagram >::flatindex(), msm::GridFixed< T, N >::flatindex(), ComputeMsmMgr::initialize(), msm::PatchData::interpolation(), msm::PatchData::interpolationC1Hermite(), and MsmGridCutoffKernel< Float, Float >::setup().

00441 { return nextent.j; }

int msm::IndexRange::nk  )  const [inline]
 

Definition at line 442 of file MsmMap.h.

Referenced by MsmGridCutoffKernel< Float, Float >::compute(), MsmC1HermiteGridCutoff::compute_specialized(), ComputeMsmMgr::initialize(), and MsmGridCutoffKernel< Float, Float >::setup().

00442 { return nextent.k; }

int msm::IndexRange::nn  )  const [inline]
 

Definition at line 443 of file MsmMap.h.

Referenced by MsmC1HermiteGridCutoff::compute(), MsmGridCutoff::compute(), msm::Grid< BlockDiagram >::init(), ComputeMsmMgr::initialize(), msm::Grid< BlockDiagram >::reset(), msm::GridFixed< T, N >::reset(), MsmC1HermiteBlock::sendDownPotential(), MsmBlock::sendDownPotential(), MsmC1HermiteBlock::sendPatch(), MsmBlock::sendPatch(), MsmC1HermiteBlock::sendUpCharge(), MsmBlock::sendUpCharge(), msm::Grid< BlockDiagram >::set(), and msm::Grid< BlockDiagram >::setbounds().

00443 { return nextent.i * nextent.j * nextent.k; }

int msm::IndexRange::operator<= const IndexRange n  )  [inline]
 

Definition at line 446 of file MsmMap.h.

References ia(), ib(), ja(), jb(), ka(), and kb().

00446                                           {
00447         // true if this IndexRange fits inside n
00448         return ( ia() >= n.ia() && ib() <= n.ib() &&
00449                  ja() >= n.ja() && jb() <= n.jb() &&
00450                  ka() >= n.ka() && kb() <= n.kb() );
00451       }

void msm::IndexRange::set int  pia,
int  pni,
int  pja,
int  pnj,
int  pka,
int  pnk
[inline]
 

Reimplemented in msm::GridFixed< T, N >, msm::Grid< T >, msm::Grid< Float >, msm::Grid< C1Vector >, msm::Grid< Mtype >, msm::Grid< C1Matrix >, msm::Grid< Vtype >, and msm::Grid< BlockDiagram >.

Definition at line 426 of file MsmMap.h.

References ASSERT.

Referenced by msm::Map::indexRangeOfBlock(), and msm::Map::indexRangeOfBlockFold().

00426                                                                      {
00427         ASSERT(pni >= 0 && pnj >= 0 && pnk >= 0);
00428         nlower = Ivec(pia, pja, pka);
00429         nextent = Ivec(pni, pnj, pnk);
00430       }

void msm::IndexRange::setbounds int  pia,
int  pib,
int  pja,
int  pjb,
int  pka,
int  pkb
[inline]
 

Reimplemented in msm::GridFixed< T, N >, msm::Grid< T >, msm::Grid< Float >, msm::Grid< C1Vector >, msm::Grid< Mtype >, msm::Grid< C1Matrix >, msm::Grid< Vtype >, and msm::Grid< BlockDiagram >.

Definition at line 431 of file MsmMap.h.

Referenced by msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

00431                                                                            {
00432         set(pia, pib-pia+1, pja, pjb-pja+1, pka, pkb-pka+1);
00433       }


Member Data Documentation

Ivec msm::IndexRange::nextent [protected]
 

Definition at line 459 of file MsmMap.h.

Referenced by msm::Grid< BlockDiagram >::extract(), msm::GridFixed< T, N >::extract(), msm::Grid< BlockDiagram >::operator+=(), and msm::GridFixed< T, N >::operator+=().

Ivec msm::IndexRange::nlower [protected]
 

Definition at line 458 of file MsmMap.h.

Referenced by msm::Grid< BlockDiagram >::extract(), msm::GridFixed< T, N >::extract(), msm::Grid< BlockDiagram >::operator+=(), and msm::GridFixed< T, N >::operator+=().


The documentation for this class was generated from the following file:
Generated on Tue May 21 04:07:32 2013 for NAMD by  doxygen 1.3.9.1