13 #ifndef __INTERACTION_H
14 #define __INTERACTION_H
53 virtual bool hasTag(
int,
int)
const=0;
56 inline double Count()
const {
return 1.0;};
89 virtual bool hasTag(
int,
int)
const;
105 template <
class TmplParticle>
void setPP(
const vector<TmplParticle *> &pp)
CParticle * first()
Definition: Interaction.h:81
void checkIDs()
Definition: Interaction.cpp:76
pair< int, int > getPairID() const
Definition: Interaction.h:84
virtual void calcForces()=0
vector< int > getAllID() const
Definition: Interaction.cpp:27
void setPP(const vector< TmplParticle * > &pp)
Definition: Interaction.h:105
virtual Vec3 getPos() const =0
Vec3 getPos() const
Definition: BasicParticle.h:62
virtual bool hasTag(int, int) const =0
virtual Vec3 getPosFirst() const
Definition: Interaction.h:90
virtual void calcHeatTrans()
Definition: Interaction.h:49
double Count() const
Definition: Interaction.h:56
virtual void loadRestartData(std::istream &)
Definition: Interaction.h:116
Abstract base class for interactions.
Definition: Interaction.h:36
int getID() const
Definition: BasicParticle.h:65
bool initialized() const
Definition: Interaction.cpp:32
virtual Vec3 getPosSecond() const
Definition: Interaction.h:55
APairInteraction()
Definition: Interaction.cpp:41
virtual void saveRestartData(std::ostream &)
Definition: Interaction.h:115
bool m_init
Definition: Interaction.h:41
const CParticle * first() const
Definition: Interaction.h:79
void setPP(CParticle *, CParticle *)
Definition: Interaction.cpp:67
virtual Vec3 getPosSecond() const
Definition: Interaction.h:91
virtual void calcForces()=0
virtual Vec3 getPosFirst() const =0
double getRad() const
Definition: BasicParticle.h:64
virtual ~APairInteraction()
Definition: Interaction.cpp:37
CParticle * m_p2
Definition: Interaction.h:71
vector< int > m_id
id's of the particles involved
Definition: Interaction.h:39
Definition: quintuple.h:24
esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3 > getRaw2Data() const
Definition: Interaction.h:93
CParticle * m_p1
Definition: Interaction.h:71
const CParticle * second() const
Definition: Interaction.h:80
int m_iid
interaction id
Definition: Interaction.h:40
virtual void calcHeatFrict()
Definition: Interaction.h:50
CParticle * second()
Definition: Interaction.h:82
int getID()
Definition: Interaction.h:52
virtual bool hasTag(int, int) const
Definition: Interaction.cpp:92
Class for a basic particle.
Definition: Particle.h:50
Abstract base class for 2-particle interactions.
Definition: Interaction.h:68
virtual ~AInteraction()
Definition: Interaction.cpp:23
AInteraction()
Definition: Interaction.cpp:19