9 #ifndef PARTICLE_INCLUDED 10 #define PARTICLE_INCLUDED 14 #include <TLorentzRotation.h> 15 #include <TLorentzVector.h> 44 double lastInterTime = 0.,
int lastInterNum = 0,
int type=0);
46 double lastInterTime,
int lastInterNum,
int type,
int motherPdg,
47 const TLorentzVector &motherPos,
const TLorentzVector &motherMom);
49 double X()
const{
return fPosition.X();}
50 double X(
double val){fPosition.SetX(val);
return val;}
51 double Y()
const{
return fPosition.Y();}
52 double Y(
double val){fPosition.SetY(val);
return val;}
53 double Z()
const{
return fPosition.Z();}
54 double Z(
double val){fPosition.SetZ(val);
return val;}
55 double T()
const{
return fPosition.T();}
56 double T(
double val){fPosition.SetT(val);
return val;}
57 double Px()
const{
return fMomentum.Px();}
58 double Px(
double val){fMomentum.SetPx(val);
return val;}
59 double Py()
const{
return fMomentum.Py();}
60 double Py(
double val){fMomentum.SetPy(val);
return val;}
61 double Pz()
const{
return fMomentum.Pz();}
62 double Pz(
double val){fMomentum.SetPz(val);
return val;}
63 double E()
const{
return fMomentum.E();}
64 double E(
double val){fMomentum.SetE(val);
return val;}
68 TLorentzVector &
Pos(
const TLorentzVector &
val){
return fPosition =
val;}
71 TLorentzVector &
Mom(
const TLorentzVector &
val){
return fMomentum =
val;}
76 void Boost(
const TVector3 &
val){fMomentum.Boost(val);}
77 void Boost(
const TLorentzVector &
val){fMomentum.Boost(val.BoostVector());}
80 void Shift(
const TVector3 &
val){fPosition += TLorentzVector(val, 0.);}
113 if(fFirstDaughterIndex==-1 || fLastDaughterIndex==-1)
116 return fLastDaughterIndex-fFirstDaughterIndex+1;
138 double S(
const TLorentzVector &,
const TLorentzVector &);
139 double T(
const TLorentzVector &,
const TLorentzVector &);
142 typedef std::list<Particle>::iterator
LPIT_t;
148 void FreeList(
List_t & list);
TLorentzVector & SetLastMotherDecayCoor(const TLorentzVector &val)
void SetLastDaughterIndex(int index)
TLorentzVector & SetLastMotherDecayMom(const TLorentzVector &val)
ParticlePDG * Def() const
void SetPythiaStatusCode(int code)
void SetLastInterTime(double value)
const TLorentzVector & GetLastMotherDecayMom() const
void Boost(const TLorentzVector &val)
void SetMother(int value)
const TLorentzVector & GetLastMotherDecayCoor() const
int GetPythiaStatusCode()
int GetLastMotherPdg() const
std::list< Particle > List_t
int GetLastDaughterIndex()
double GetLastInterTime() const
void TransformMomentum(const TRotation &rotator)
void SetLastMotherPdg(int value)
ParticlePDG * fParticleProperties
void TransformPosition(const TRotation &rotator)
const TLorentzVector & Mom() const
static void InitIndexing()
double fLastInteractionTime
static int GetLastIndex()
ParticlePDG * Def(ParticlePDG *newProp)
int GetLastInterNumber() const
void SetLastInterNumber(int value)
double S(const TLorentzVector &, const TLorentzVector &)
TLorentzVector & Mom(const TLorentzVector &val)
void Shift(const TVector3 &val)
TLorentzVector fLastMotherDecayCoor
std::list< Particle >::iterator LPIT_t
TLorentzVector fLastMotherDecayMom
const TLorentzVector & Pos() const
void Boost(const TVector3 &val)
void SetFirstDaughterIndex(int index)
TLorentzVector & Pos(const TLorentzVector &val)
int GetFirstDaughterIndex()
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
Particle(ParticlePDG *pdg=0)