40 for (
Iterator it = begin; it != end; it++) {
52 return (m_numRemaining > 0);
59 while (!isInner(m_it)) {
71 return m_numRemaining;
93 vector<pair<Vec3,P> > res;
111 template <
typename I>
112 template <
typename P>
113 vector<pair<typename TParallelInteractionStorage<I>::Raw2Data,P> >
116 vector<pair<Raw2Data,P> > res;
123 res.push_back(pair<Raw2Data,P>(data,((*iter).*rdf)()));
136 template <
typename I>
137 template <
typename P>
138 vector<pair<typename TParallelInteractionStorage<I>::DataWithPosID,P> >
141 vector<pair<DataWithPosID,P> > res;
147 vector<int> ids=
iter->getAllID();
156 Vec3 pos1=data.get<0>();
157 Vec3 pos2=data.get<2>();
158 Vec3 ipos=data.get<4>();
159 res.push_back(pair<DataWithPosID,P>(
DataWithPosID(id1,id2,pos1,pos2,ipos),((*iter).*rdf)()));
172 template <
typename I>
173 template <
typename P>
174 vector<pair<typename TParallelInteractionStorage<I>::DataWithID,P> >
177 vector<pair<DataWithID,P> > res;
183 vector<int> ids=
iter->getAllID();
192 res.push_back(pair<DataWithID,P>(
DataWithID(id1,id2,pos),((*iter).*rdf)()));
207 template <
typename I>
208 template <
typename P>
229 template <
typename I>
230 template <
typename P>
233 vector<pair<Vec3,P> > res;
239 if(
iter->hasTag(tag,mask)){
256 template <
typename I>
257 template <
typename P>
264 if(
iter->hasTag(tag,mask)){
280 template <
typename I>
287 typename I::ScalarFieldFunction rdf=I::getScalarFieldFunction(fieldname);
294 typename I::CheckedScalarFieldFunction rdf=I::getCheckedScalarFieldFunction(fieldname);
315 template <
typename I>
322 typename I::VectorFieldFunction rdf=I::getVectorFieldFunction(fieldname);
vector< pair< DataWithPosID, P > > forAllInnerInteractionsGetDataWithPosID(P(I::*rdf)() const)
virtual AFieldSlave * generateNewVectorFieldSlave(TML_Comm *, const string &, int, int, int, int)
Definition: pi_storage.hpp:316
Definition: CheckedScalarInteractionFieldSlaveTagged.h:31
AParallelParticleArray * m_ppa
Definition: pi_storage.h:47
InteractionIterator(Iterator begin, Iterator end, AParallelParticleArray *ppa)
Definition: pi_storage.hpp:29
virtual bool isInInner(const Vec3 &)=0
InteractionIterator getInnerInteractionIterator()
types
Definition: pi_storage.hpp:76
int getNumRemaining()
Definition: pi_storage.hpp:69
list< I > m_interactions
Definition: pi_storage.h:96
vector< pair< DataWithID, P > > forAllInnerInteractionsGetDataWithID(P(I::*rdf)() const)
Definition: ScalarInteractionFieldSlaveTagged.h:31
vector< pair< Vec3, P > > forAllInnerInteractionsGetWithPos(P(I::*rdf)() const)
Definition: pi_storage.hpp:91
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
vector< pair< Vec3, P > > forAllTaggedInnerInteractionsGetWithPos(P(I::*rdf)() const, int, int)
Definition: pi_storage.hpp:231
Definition: CheckedScalarInteractionFieldSlave.h:31
list< I >::iterator Iterator
Definition: pi_storage.h:105
Iterator m_it
Definition: pi_storage.h:120
abstract base class for slave part of scalar field defined on the interactions
Definition: InteractionFieldSlave.h:31
int m_numRemaining
Definition: pi_storage.h:119
void forAllTaggedInnerInteractionsGet(P &, typename P::value_type(I::*rdf)() const, int, int)
generate FieldSlave of correct type
Definition: pi_storage.hpp:258
I Interaction
Definition: pi_storage.h:104
Definition: pi_storage.h:102
esys::lsm::quintuple< int, int, Vec3, Vec3, Vec3 > DataWithPosID
access functions
Definition: pi_storage.h:130
bool isInner(const Iterator &it)
Definition: pi_storage.hpp:23
class for slave part of scalar field defined on the particles
Definition: ScalarInteractionFieldSlave.h:31
esys::lsm::triplet< int, int, Vec3 > DataWithID
Definition: pi_storage.h:129
bool hasNext()
Definition: pi_storage.hpp:50
#define NULL
Definition: t_list.h:17
abstract base class for communicator
Definition: comm.h:46
vector< pair< Raw2Data, P > > forAllInnerInteractionsGetRaw2(P(I::*rdf)() const)
Definition: quintuple.h:24
abstract base class for parallel particle storage array
Definition: pp_array.h:41
class for slave part of vector field defined on the interactions
Definition: VectorInteractionFieldSlave.h:31
Interaction & next()
Definition: pi_storage.hpp:57
Abstract base class for slave part of field.
Definition: FieldSlave.h:22
void forAllInnerInteractionsGet(P &, typename P::value_type(I::*rdf)() const)
access functions with tags
Definition: pi_storage.hpp:209
virtual AFieldSlave * generateNewScalarFieldSlave(TML_Comm *, const string &, int, int, int, int)
Definition: pi_storage.hpp:281
AParallelParticleArray * m_ppa
Definition: pi_storage.h:122
Iterator m_end
Definition: pi_storage.h:121