18 template <
typename TmplParticleCollection>
20 : m_nTablePtr(nTablePtr),
22 m_particleCollectionPtr(
29 template <
typename TmplParticleCollection>
34 : m_nTablePtr(nTablePtr),
35 m_particlePoolPtr(particlePoolPtr),
36 m_particleCollectionPtr(
43 template <
typename TmplParticleCollection>
48 template <
typename TmplParticleCollection>
51 m_nTablePtr = nTablePtr;
54 template <
typename TmplParticleCollection>
57 return *(m_nTablePtr);
60 template <
typename TmplParticleCollection>
67 template <
typename TmplParticleCollection>
71 return *m_particlePoolPtr;
74 template <
typename TmplParticleCollection>
78 return m_particlePoolPtr;
81 template <
typename TmplParticleCollection>
85 return *m_particlePoolPtr;
88 template <
typename TmplParticleCollection>
92 return *m_particleCollectionPtr;
95 template <
typename TmplParticleCollection>
99 return *m_particleCollectionPtr;
102 template <
typename TmplParticleCollection>
106 return getParticleCollection().createParticle(particle);
109 template <
typename TmplParticleCollection>
113 return getParticleCollection().getParticleIterator();
116 template <
typename TmplParticleCollection>
120 return getParticleCollection().getParticleIterator();
123 template <
typename TmplParticleCollection>
127 return getParticleCollection().getNumParticles();
130 template <
typename TmplParticleCollection>
133 return static_cast<int>(getNTable().getNumParticles());
137 template <
typename TmplParticleCollection>
143 Particle *pParticle = &(constructParticle(particle));
144 pParticle->setId(getNextParticleId());
145 m_idSet.insert(pParticle->getId());
146 getNTable().insert(pParticle);
150 template <
typename TmplParticleCollection>
153 return (m_idSet.find(particle.getID()) != m_idSet.end());