1 #ifndef _TauolaParticle_h_included_
2 #define _TauolaParticle_h_included_
26 #include "DecayList.h"
70 static const int Z0 = 23;
73 static const int HIGGS = 25;
86 static const int W_PLUS = 24;
92 static const int GAMMA = 22;
133 static const int UP = 2;
136 static const int ANTIUP = -2;
139 static const int DOWN = 1;
144 static const int GLUON = 21;
145 static const int CHARM = 4;
146 static const int TOP = 6;
147 static const int STRANGE = 3;
148 static const int BOTTOM = 5;
151 static const int OTHER = 0;
223 void rotate(
int axis,
double phi,
int second_axis=
Z_AXIS);
225 void rotateDaughters(
int axis,
double phi,
int second_axis=
Z_AXIS);
238 double getP(
int axis);
241 void setP(
int axis,
double p_component);
264 virtual double getPx()=0;
267 virtual double getPy()=0;
270 virtual double getPz()=0;
273 virtual double getE()=0;
276 virtual void setPx(
double px )=0;
279 virtual void setPy(
double py )=0;
282 virtual void setPz(
double pz )=0;
285 virtual void setE(
double e )=0;
288 virtual void setMothers(std::vector<TauolaParticle*> mothers)=0;
291 virtual void setDaughters(std::vector<TauolaParticle*> daughters)=0;
294 virtual std::vector<TauolaParticle*>
getMothers()=0;
300 virtual void setPdgID(
int pdg_id)=0;
303 virtual void setMass(
double mass)=0;
325 double mass,
double px,
326 double py,
double pz,
330 virtual void print()=0;
static const int TAU_NEUTRINO
virtual void setStatus(int status)=0
void setP(int axis, double p_component)
static const int ELECTRON
void boostFromRestFrame(TauolaParticle *boost)
static const int POSITRON
static const int OPPOSITE_SIGN
static const int MUON_PLUS
static const int SAME_SIGN
void boostDaughtersToRestFrame(TauolaParticle *boost)
TauolaParticle * findLastSelf()
virtual std::vector< TauolaParticle * > getMothers()=0
virtual void setMothers(std::vector< TauolaParticle * > mothers)=0
static const int TAU_MINUS
virtual void decayEndgame()
Abstract base class for particle in the event. This class also handles boosting.
void subtract(TauolaParticle *)
virtual void setPz(double pz)=0
static const int MUON_ANTINEUTRINO
void addDecayToEventRecord()
static const int ELECTRON_NEUTRINO
virtual void setPx(double px)=0
virtual void setPdgID(int pdg_id)=0
static const int MUON_NEUTRINO
void rotate(int axis, double phi, int second_axis=Z_AXIS)
virtual void setMass(double mass)=0
static const int TAU_PLUS
virtual void setDaughters(std::vector< TauolaParticle * > daughters)=0
void boostAlongZ(double pz, double e)
virtual TauolaParticle * createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e)=0
virtual void checkMomentumConservation()
static const int ELECTRON_ANTINEUTRINO
virtual void setE(double e)=0
double getAngle(TauolaParticle *)
static const int HIGGS_MINUS
double getPolarimetricX()
virtual void setPy(double py)=0
double getRotationAngle(int axis, int second_axis=Z_AXIS)
virtual int getStatus()=0
static const int HIGGS_PLUS
void boostToRestFrame(TauolaParticle *boost)
static const int ANTIDOWN
std::vector< TauolaParticle * > findProductionMothers()
virtual int getBarcode()=0
double getPolarimetricY()
virtual std::vector< TauolaParticle * > getDaughters()=0
static const int TAU_ANTINEUTRINO
double getPolarimetricZ()
void add(TauolaParticle *)
static const int MUON_MINUS