OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
ParticleAttrib< T > Class Template Reference

#include <MakeDataSource.h>

Inheritance diagram for ParticleAttrib< T >:
Inheritance graph
[legend]
Collaboration diagram for ParticleAttrib< T >:
Collaboration graph
[legend]

Public Types

enum  { IsExpr = 0 }
 
typedef T Return_t
 
typedef std::vector< TParticleList_t
 
typedef ParticleAttribIterator< Titerator
 
typedef
ParticleAttribConstIterator< T
const_iterator
 
typedef
ParticleAttribBase::SortListIndex_t 
SortListIndex_t
 
typedef
ParticleAttribBase::SortList_t 
SortList_t
 
typedef const_iterator PETE_Expr_t
 
- Public Types inherited from ParticleAttribBase
typedef long SortListIndex_t
 
typedef std::vector
< SortListIndex_t
SortList_t
 
- Public Types inherited from DataSource
enum  DsMode { INPUT, OUTPUT, BOTH, DEFAULT }
 
typedef std::vector
< DataSourceObject * > 
container_t
 
- Public Types inherited from PETE_Expr< ParticleAttrib< T > >
typedef ParticleAttrib< TWrapped
 

Public Member Functions

 ParticleAttrib ()
 
 ParticleAttrib (const ParticleAttrib< T > &pa)
 
 ~ParticleAttrib ()
 
bool isDirty ()
 
void resetDirtyFlag ()
 
ParticleList_t::reference operator[] (size_t n)
 
ParticleList_t::const_reference operator[] (size_t n) const
 
template<unsigned Dim>
SubParticleAttrib
< ParticleAttrib< T >, T, Dim
operator[] (const SIndex< Dim > &s) const
 
PETE_Expr_t MakeExpression () const
 
iterator begin ()
 
iterator end ()
 
const_iterator cbegin () const
 
const_iterator cend () const
 
size_t size (void) const
 
ParticleAttribElem< T, 1U > operator() (unsigned)
 
ParticleAttribElem< T, 2U > operator() (unsigned, unsigned)
 
ParticleAttribElem< T, 3U > operator() (unsigned, unsigned, unsigned)
 
template<unsigned Dim, class M , class C , class PT , class IntOp >
void scatter (Field< T, Dim, M, C > &f, const ParticleAttrib< Vektor< PT, Dim > > &pp, const IntOp &intop) const
 
template<unsigned Dim, class M , class C , class PT , class IntOp , class CacheData >
void scatter (Field< T, Dim, M, C > &f, const ParticleAttrib< Vektor< PT, Dim > > &pp, const IntOp &intop, ParticleAttrib< CacheData > &cache) const
 
template<unsigned Dim, class M , class C , class IntOp , class CacheData >
void scatter (Field< T, Dim, M, C > &f, const IntOp &, const ParticleAttrib< CacheData > &cache) const
 
template<unsigned Dim, class M , class C , class PT , class IntOp >
void gather (const Field< T, Dim, M, C > &f, const ParticleAttrib< Vektor< PT, Dim > > &pp, const IntOp &)
 
template<unsigned Dim, class M , class C , class PT , class IntOp , class CacheData >
void gather (const Field< T, Dim, M, C > &f, const ParticleAttrib< Vektor< PT, Dim > > &pp, const IntOp &, ParticleAttrib< CacheData > &cache)
 
template<unsigned Dim, class M , class C , class IntOp , class CacheData >
void gather (const Field< T, Dim, M, C > &f, const IntOp &, const ParticleAttrib< CacheData > &cache)
 
template<class T1 >
const ParticleAttrib< T > & operator= (const PETE_Expr< T1 > &rhs)
 
const ParticleAttrib< T > & operator= (const ParticleAttrib< T > &rhs)
 
const ParticleAttrib< T > & operator= (T rhs)
 
virtual void create (size_t)
 
virtual void destroy (size_t M, size_t I, bool optDestroy=true)
 
virtual void destroy (const std::vector< std::pair< size_t, size_t > > &dlist, bool optDestroy=true)
 
virtual size_t putMessage (Message &, size_t, size_t)
 
virtual size_t putMessage (Message &, const std::vector< size_t > &)
 
virtual size_t getMessage (Message &, size_t)
 
virtual size_t ghostDestroy (size_t, size_t)
 
virtual void ghostCreate (size_t)
 
virtual size_t ghostPutMessage (Message &, size_t, size_t)
 
virtual size_t ghostPutMessage (Message &, const std::vector< size_t > &)
 
virtual size_t ghostGetMessage (Message &, size_t)
 
virtual void calcSortList (SortList_t &slist, bool ascending=true)
 
virtual void sort (SortList_t &slist)
 
virtual void printDebug (Inform &)
 
- Public Member Functions inherited from ParticleAttribBase
 ParticleAttribBase (unsigned int size, const std::string &typestr)
 
 ParticleAttribBase (const ParticleAttribBase &pa)
 
virtual ~ParticleAttribBase ()
 
unsigned int elementSize () const
 
const std::string & typeString () const
 
void setTemporary (bool t)
 
bool isTemporary () const
 
- Public Member Functions inherited from DataSource
 DataSource ()
 
virtual ~DataSource ()
 
bool connected (DataConnect *=0) const
 
DataSourceObjectfindDataSourceObject (DataConnect *) const
 
DataConnectconnect (const char *, DataConnect *=0, int=DataSource::DEFAULT)
 
bool connect (DataSourceObject *)
 
bool disconnect (DataConnect *=0)
 
bool updateConnection (DataConnect *=0)
 
void interact (DataConnect *=0)
 
void interact (const char *, DataConnect *=0)
 
- Public Member Functions inherited from PETE_Expr< ParticleAttrib< T > >
ParticleAttrib< T > & PETE_unwrap ()
 
const ParticleAttrib< T > & PETE_unwrap () const
 

Protected Member Functions

virtual DataSourceObjectcreateDataSourceObject (const char *nm, DataConnect *dc, int tm)
 

Protected Attributes

ParticleList_t ParticleList
 
size_t LocalSize
 

Private Attributes

bool attributeIsDirty_
 

Friends

class ParticleAttribIterator< T >
 
class ParticleAttribConstIterator< T >
 

Detailed Description

template<class T>
class ParticleAttrib< T >

Definition at line 25 of file MakeDataSource.h.

Member Typedef Documentation

Definition at line 109 of file ParticleAttrib.h.

template<class T>
typedef ParticleAttribIterator<T> ParticleAttrib< T >::iterator

Definition at line 108 of file ParticleAttrib.h.

template<class T>
typedef std::vector<T> ParticleAttrib< T >::ParticleList_t

Definition at line 107 of file ParticleAttrib.h.

template<class T>
typedef const_iterator ParticleAttrib< T >::PETE_Expr_t

Definition at line 169 of file ParticleAttrib.h.

template<class T>
typedef T ParticleAttrib< T >::Return_t

Definition at line 106 of file ParticleAttrib.h.

Definition at line 111 of file ParticleAttrib.h.

Definition at line 110 of file ParticleAttrib.h.

Member Enumeration Documentation

template<class T>
anonymous enum
Enumerator
IsExpr 

Definition at line 168 of file ParticleAttrib.h.

Constructor & Destructor Documentation

template<class T>
ParticleAttrib< T >::ParticleAttrib ( )
inline

Definition at line 115 of file ParticleAttrib.h.

template<class T>
ParticleAttrib< T >::ParticleAttrib ( const ParticleAttrib< T > &  pa)
inline

Definition at line 120 of file ParticleAttrib.h.

template<class T>
ParticleAttrib< T >::~ParticleAttrib ( )
inline

Definition at line 126 of file ParticleAttrib.h.

Member Function Documentation

template<class T>
iterator ParticleAttrib< T >::begin ( )
inline
template<class T >
void ParticleAttrib< T >::calcSortList ( SortList_t slist,
bool  ascending = true 
)
virtual

Implements ParticleAttribBase.

Definition at line 422 of file ParticleAttrib.hpp.

References T, and value_type().

Here is the call graph for this function:

template<class T>
const_iterator ParticleAttrib< T >::cbegin ( ) const
inline
template<class T>
const_iterator ParticleAttrib< T >::cend ( ) const
inline

Definition at line 177 of file ParticleAttrib.h.

template<class T >
void ParticleAttrib< T >::create ( size_t  M)
virtual
template<class T>
virtual DataSourceObject* ParticleAttrib< T >::createDataSourceObject ( const char *  nm,
DataConnect dc,
int  tm 
)
inlineprotectedvirtual

Implements DataSource.

Definition at line 501 of file ParticleAttrib.h.

template<class T >
void ParticleAttrib< T >::destroy ( size_t  M,
size_t  I,
bool  optDestroy = true 
)
virtual
template<class T >
void ParticleAttrib< T >::destroy ( const std::vector< std::pair< size_t, size_t > > &  dlist,
bool  optDestroy = true 
)
virtual

Implements ParticleAttribBase.

Definition at line 140 of file ParticleAttrib.hpp.

template<class T>
iterator ParticleAttrib< T >::end ( )
inline

Definition at line 174 of file ParticleAttrib.h.

Referenced by assign().

template<class T>
template<unsigned Dim, class M , class C , class PT , class IntOp >
void ParticleAttrib< T >::gather ( const Field< T, Dim, M, C > &  f,
const ParticleAttrib< Vektor< PT, Dim > > &  pp,
const IntOp &   
)
inline

Definition at line 290 of file ParticleAttrib.h.

Referenced by P3MPoissonSolver::calculateGridForces(), and gather().

template<class T>
template<unsigned Dim, class M , class C , class PT , class IntOp , class CacheData >
void ParticleAttrib< T >::gather ( const Field< T, Dim, M, C > &  f,
const ParticleAttrib< Vektor< PT, Dim > > &  pp,
const IntOp &  ,
ParticleAttrib< CacheData > &  cache 
)
inline

Definition at line 320 of file ParticleAttrib.h.

template<class T>
template<unsigned Dim, class M , class C , class IntOp , class CacheData >
void ParticleAttrib< T >::gather ( const Field< T, Dim, M, C > &  f,
const IntOp &  ,
const ParticleAttrib< CacheData > &  cache 
)
inline

Definition at line 351 of file ParticleAttrib.h.

template<class T >
size_t ParticleAttrib< T >::getMessage ( Message msg,
size_t  M 
)
virtual

Implements ParticleAttribBase.

Definition at line 279 of file ParticleAttrib.hpp.

References getMessage(), getMessage_iter(), and PAssert_EQ.

Referenced by DiscParticle::read().

Here is the call graph for this function:

template<class T >
void ParticleAttrib< T >::ghostCreate ( size_t  M)
virtual

Implements ParticleAttribBase.

Definition at line 328 of file ParticleAttrib.hpp.

References T.

template<class T >
size_t ParticleAttrib< T >::ghostDestroy ( size_t  M,
size_t  I 
)
virtual

Implements ParticleAttribBase.

Reimplemented in ParticleInteractAttrib< T >.

Definition at line 341 of file ParticleAttrib.hpp.

template<class T >
size_t ParticleAttrib< T >::ghostGetMessage ( Message msg,
size_t  M 
)
virtual

Implements ParticleAttribBase.

Reimplemented in ParticleInteractAttrib< T >.

Definition at line 354 of file ParticleAttrib.hpp.

References getMessage_iter().

Here is the call graph for this function:

template<class T >
size_t ParticleAttrib< T >::ghostPutMessage ( Message ,
size_t  ,
size_t   
)
virtual

Implements ParticleAttribBase.

Reimplemented in ParticleInteractAttrib< T >.

Definition at line 312 of file ParticleAttrib.hpp.

template<class T >
size_t ParticleAttrib< T >::ghostPutMessage ( Message ,
const std::vector< size_t > &   
)
virtual

Implements ParticleAttribBase.

Reimplemented in ParticleInteractAttrib< T >.

Definition at line 318 of file ParticleAttrib.hpp.

template<class T>
bool ParticleAttrib< T >::isDirty ( )
inline

notify user that attribute has changed. The user is responsible to define the meaning of the dirt and clean state

Definition at line 134 of file ParticleAttrib.h.

Referenced by AmrPartBunch::boundp().

template<class T>
PETE_Expr_t ParticleAttrib< T >::MakeExpression ( ) const
inline

Definition at line 170 of file ParticleAttrib.h.

template<class T >
ParticleAttribElem< T, 1U > ParticleAttrib< T >::operator() ( unsigned  i)

Definition at line 41 of file ParticleAttrib.hpp.

References PInsist.

template<class T >
ParticleAttribElem< T, 2U > ParticleAttrib< T >::operator() ( unsigned  i,
unsigned  j 
)

Definition at line 52 of file ParticleAttrib.hpp.

References PInsist.

template<class T >
ParticleAttribElem< T, 3U > ParticleAttrib< T >::operator() ( unsigned  i,
unsigned  j,
unsigned  k 
)

Definition at line 63 of file ParticleAttrib.hpp.

References PInsist.

template<class T>
template<class T1 >
const ParticleAttrib<T>& ParticleAttrib< T >::operator= ( const PETE_Expr< T1 > &  rhs)
inline

Definition at line 380 of file ParticleAttrib.h.

template<class T>
const ParticleAttrib<T>& ParticleAttrib< T >::operator= ( const ParticleAttrib< T > &  rhs)
inline

Definition at line 386 of file ParticleAttrib.h.

template<class T>
const ParticleAttrib<T>& ParticleAttrib< T >::operator= ( T  rhs)
inline

Definition at line 396 of file ParticleAttrib.h.

template<class T>
ParticleList_t::reference ParticleAttrib< T >::operator[] ( size_t  n)
inline

Definition at line 144 of file ParticleAttrib.h.

template<class T>
ParticleList_t::const_reference ParticleAttrib< T >::operator[] ( size_t  n) const
inline

Definition at line 150 of file ParticleAttrib.h.

template<class T>
template<unsigned Dim>
SubParticleAttrib<ParticleAttrib<T>, T, Dim> ParticleAttrib< T >::operator[] ( const SIndex< Dim > &  s) const
inline

Definition at line 160 of file ParticleAttrib.h.

template<class T >
void ParticleAttrib< T >::printDebug ( Inform o)
virtual

Implements ParticleAttribBase.

Reimplemented in ParticleInteractAttrib< T >.

Definition at line 371 of file ParticleAttrib.hpp.

template<class T >
size_t ParticleAttrib< T >::putMessage ( Message msg,
size_t  M,
size_t  I 
)
virtual

Implements ParticleAttribBase.

Reimplemented in ParticleInteractAttrib< T >.

Definition at line 231 of file ParticleAttrib.hpp.

References putMessage().

Referenced by ParticleInteractAttrib< T >::putMessage(), and DiscParticle::write().

Here is the call graph for this function:

template<class T >
size_t ParticleAttrib< T >::putMessage ( Message msg,
const std::vector< size_t > &  putList 
)
virtual

Implements ParticleAttribBase.

Reimplemented in ParticleInteractAttrib< T >.

Definition at line 254 of file ParticleAttrib.hpp.

References putMessage().

Here is the call graph for this function:

template<class T>
void ParticleAttrib< T >::resetDirtyFlag ( )
inline

Definition at line 139 of file ParticleAttrib.h.

Referenced by AmrPartBunch::boundp().

template<class T>
template<unsigned Dim, class M , class C , class PT , class IntOp >
void ParticleAttrib< T >::scatter ( Field< T, Dim, M, C > &  f,
const ParticleAttrib< Vektor< PT, Dim > > &  pp,
const IntOp &  intop 
) const
inline
template<class T>
template<unsigned Dim, class M , class C , class PT , class IntOp , class CacheData >
void ParticleAttrib< T >::scatter ( Field< T, Dim, M, C > &  f,
const ParticleAttrib< Vektor< PT, Dim > > &  pp,
const IntOp &  intop,
ParticleAttrib< CacheData > &  cache 
) const
inline

Definition at line 232 of file ParticleAttrib.h.

template<class T>
template<unsigned Dim, class M , class C , class IntOp , class CacheData >
void ParticleAttrib< T >::scatter ( Field< T, Dim, M, C > &  f,
const IntOp &  ,
const ParticleAttrib< CacheData > &  cache 
) const
inline

Definition at line 263 of file ParticleAttrib.h.

template<class T>
size_t ParticleAttrib< T >::size ( void  ) const
inline
template<class T >
void ParticleAttrib< T >::sort ( SortList_t slist)
virtual

Implements ParticleAttribBase.

Definition at line 492 of file ParticleAttrib.hpp.

References PAssert_GE, and PAssert_LT.

Friends And Related Function Documentation

template<class T>
friend class ParticleAttribConstIterator< T >
friend

Definition at line 102 of file ParticleAttrib.h.

template<class T>
friend class ParticleAttribIterator< T >
friend

Definition at line 101 of file ParticleAttrib.h.

Member Data Documentation

template<class T>
bool ParticleAttrib< T >::attributeIsDirty_
private
template<class T>
size_t ParticleAttrib< T >::LocalSize
protected
template<class T>
ParticleList_t ParticleAttrib< T >::ParticleList
protected

The documentation for this class was generated from the following files: