#include #include "ParticleType.h" #include "ResonanceType.h" #include #ifndef PARTICLE_H #define PARTICLE_H class Particle { public: Particle(int fIndex_ = -1, double fPx_ = 0., double fPy_ = 0., double fPz_ = 0.); double TotalEnergy() const; int GetFIndex(); static void AddParticleType (const char *fName_, double fMass_, int fCharge_, double fWidth_); void SetFIndex (int a); static void PrintArray (); void PrintOther (); double GetfPx () const; double GetfPy () const; double GetfPz () const; double GetNewMass () const; double InvMass (Particle &p); void SetP(double px, double py, double pz); int Decay2Body(Particle &dau1, Particle &dau2) const; protected: private: static const int fMaxNumParticleType = 10; static ParticleType*fParticleType [fMaxNumParticleType]; static int fNParticleType; int fIndex; double fPx; double fPy; double fPz; static int FindParticle(const char *fName_); void Boost (double bx, double by, double bz); }; #endif