Go to the documentation of this file.
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;
99 if(m_ppa->isInInner(pos)) res.push_back(make_pair(
iter->getPos(),((*iter).*rdf)()));
111 template <
typename I>
112 template <
typename P>
113 vector<pair<typename TParallelInteractionStorage<I>::Raw2Data,P> >
116 vector<pair<Raw2Data,P> > res;
121 if(m_ppa->isInInner(
iter->getPosFirst())) {
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;
146 if(m_ppa->isInInner(
iter->getPosFirst())) {
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;
182 if(m_ppa->isInInner(
iter->getPosFirst())) {
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>
215 if(m_ppa->isInInner(pos)) cont.push_back(((*iter).*rdf)());
229 template <
typename I>
230 template <
typename P>
233 vector<pair<Vec3,P> > res;
239 if(
iter->hasTag(tag,mask)){
240 if(m_ppa->isInInner(pos)) res.push_back(make_pair(
iter->getPos(),((*iter).*rdf)()));
256 template <
typename I>
257 template <
typename P>
264 if(
iter->hasTag(tag,mask)){
265 if(m_ppa->isInInner(pos)) cont.push_back(((*iter).*rdf)());
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);
virtual AFieldSlave * generateNewScalarFieldSlave(TML_Comm *, const string &, int, int, int, int)
Definition: pi_storage.hpp:281
vector< pair< Raw2Data, P > > forAllInnerInteractionsGetRaw2(P(I::*rdf)() const)
vector< pair< DataWithPosID, P > > forAllInnerInteractionsGetDataWithPosID(P(I::*rdf)() const)
I Interaction
Definition: pi_storage.h:104
Definition: CheckedScalarInteractionFieldSlaveTagged.h:32
int getNumRemaining()
Definition: pi_storage.hpp:69
Interaction & next()
Definition: pi_storage.hpp:57
abstract base class for slave part of scalar field defined on the interactions
Definition: InteractionFieldSlave.h:32
Iterator m_it
Definition: pi_storage.h:120
Definition: ScalarInteractionFieldSlaveTagged.h:32
virtual bool isInInner(const Vec3 &)=0
AParallelParticleArray * m_ppa
Definition: pi_storage.h:122
esys::lsm::triplet< int, int, Vec3 > DataWithID
Definition: pi_storage.h:129
virtual AFieldSlave * generateNewVectorFieldSlave(TML_Comm *, const string &, int, int, int, int)
Definition: pi_storage.hpp:316
Iterator m_end
Definition: pi_storage.h:121
class for slave part of scalar field defined on the particles
Definition: ScalarInteractionFieldSlave.h:32
vector< pair< DataWithID, P > > forAllInnerInteractionsGetDataWithID(P(I::*rdf)() const)
Abstract base class for slave part of field.
Definition: FieldSlave.h:23
#define NULL
Definition: t_list.h:17
list< I >::iterator Iterator
Definition: pi_storage.h:105
abstract base class for parallel particle storage array
Definition: pp_array.h:42
bool isInner(const Iterator &it)
Definition: pi_storage.hpp:23
list< I > m_interactions
Definition: pi_storage.h:96
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
Definition: CheckedScalarInteractionFieldSlave.h:32
abstract base class for communicator
Definition: comm.h:47
class for slave part of vector field defined on the interactions
Definition: VectorInteractionFieldSlave.h:32
vector< pair< Vec3, P > > forAllTaggedInnerInteractionsGetWithPos(P(I::*rdf)() const, int, int)
Definition: pi_storage.hpp:231
void forAllTaggedInnerInteractionsGet(P &, typename P::value_type(I::*rdf)() const, int, int)
generate FieldSlave of correct type
Definition: pi_storage.hpp:258
void forAllInnerInteractionsGet(P &, typename P::value_type(I::*rdf)() const)
access functions with tags
Definition: pi_storage.hpp:209
InteractionIterator getInnerInteractionIterator()
types
Definition: pi_storage.hpp:76
Definition: pi_storage.h:102
vector< pair< Vec3, P > > forAllInnerInteractionsGetWithPos(P(I::*rdf)() const)
Definition: pi_storage.hpp:91
Definition: quintuple.h:25
int m_numRemaining
Definition: pi_storage.h:119
InteractionIterator(Iterator begin, Iterator end, AParallelParticleArray *ppa)
Definition: pi_storage.hpp:29
bool hasNext()
Definition: pi_storage.hpp:50
esys::lsm::quintuple< int, int, Vec3, Vec3, Vec3 > DataWithPosID
access functions
Definition: pi_storage.h:130