Go to the documentation of this file.
25 return m_ppa->isInInner(it->getPosFirst());
40 for (Iterator it = begin; it != end; it++) {
52 return (m_numRemaining > 0);
59 while (!isInner(m_it)) {
62 Interaction &i = *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);
InteractionIterator getInnerInteractionIterator()
types
list< I > m_interactions
Definition: pi_storage.h:96
vector< pair< Vec3, P > > forAllTaggedInnerInteractionsGetWithPos(P(I::*rdf)() const, int, int)
vector< pair< DataWithPosID, P > > forAllInnerInteractionsGetDataWithPosID(P(I::*rdf)() const)
Definition: CheckedScalarInteractionFieldSlaveTagged.h:31
vector< pair< Raw2Data, P > > forAllInnerInteractionsGetRaw2(P(I::*rdf)() const)
abstract base class for slave part of scalar field defined on the interactions
Definition: InteractionFieldSlave.h:31
Definition: ScalarInteractionFieldSlaveTagged.h:31
virtual AFieldSlave * generateNewVectorFieldSlave(TML_Comm *, const string &, int, int, int, int)
void forAllTaggedInnerInteractionsGet(P &, typename P::value_type(I::*rdf)() const, int, int)
generate FieldSlave of correct type
esys::lsm::quintuple< int, int, Vec3, Vec3, Vec3 > DataWithPosID
access functions
Definition: pi_storage.h:130
void forAllInnerInteractionsGet(P &, typename P::value_type(I::*rdf)() const)
access functions with tags
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
Abstract base class for slave part of field.
Definition: FieldSlave.h:22
#define NULL
Definition: t_list.h:17
abstract base class for parallel particle storage array
Definition: pp_array.h:41
vector< pair< Vec3, P > > forAllInnerInteractionsGetWithPos(P(I::*rdf)() const)
esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3 > Raw2Data
Definition: pi_storage.h:128
bool isInner(const Iterator &it)
templated abstract base class for parallel interaction storage array. Adds the vector of interactions...
Definition: CheckedScalarInteractionFieldSlave.h:19
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
Definition: CheckedScalarInteractionFieldSlave.h:31
abstract base class for communicator
Definition: comm.h:46
virtual AFieldSlave * generateNewScalarFieldSlave(TML_Comm *, const string &, int, int, int, int)
class for slave part of vector field defined on the interactions
Definition: VectorInteractionFieldSlave.h:31
vector< pair< DataWithID, P > > forAllInnerInteractionsGetDataWithID(P(I::*rdf)() const)
InteractionIterator(Iterator begin, Iterator end, AParallelParticleArray *ppa)