StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
EvtParticle Class Referenceabstract
Inheritance diagram for EvtParticle:
EvtDiracParticle EvtHighSpinParticle EvtNeutrinoParticle EvtPhotonParticle EvtRaritaSchwingerParticle EvtScalarParticle EvtStringParticle EvtTensorParticle EvtVectorParticle

Public Member Functions

 EvtParticle ()
 
virtual ~EvtParticle ()
 
virtual EvtVector4C epsParent (int i) const
 
virtual EvtVector4C eps (int i) const
 
virtual EvtVector4C epsParentPhoton (int i)
 
virtual EvtVector4C epsPhoton (int i)
 
virtual EvtDiracSpinor spParent (int) const
 
virtual EvtDiracSpinor sp (int) const
 
virtual EvtDiracSpinor spParentNeutrino () const
 
virtual EvtDiracSpinor spNeutrino () const
 
virtual EvtTensor4C epsTensorParent (int i) const
 
virtual EvtTensor4C epsTensor (int i) const
 
virtual EvtRaritaSchwinger spRSParent (int) const
 
virtual EvtRaritaSchwinger spRS (int) const
 
virtual void init (EvtId part_n, const EvtVector4R &p4)=0
 
void addDaug (EvtParticle *node)
 
void decay ()
 
void deleteTree ()
 
void deleteDaughters (bool keepChannel=false)
 
void setChannel (int i)
 
void makeDaughters (unsigned int ndaug, EvtId *id)
 
void makeDaughters (unsigned int ndaug, std::vector< EvtId > idVector)
 
double initializePhaseSpace (unsigned int numdaughter, EvtId *daughters, bool forceResetMasses=false, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
 
EvtParticlegetDaug (int i)
 
EvtParticlenextIter (EvtParticle *rootOfTree=0)
 
void makeStdHep (EvtStdHep &stdhep, EvtSecondary &secondary, EvtId *stable_parent_ihep)
 
void makeStdHep (EvtStdHep &stdhep)
 
EvtVector4R getP4Lab () const
 
EvtVector4R getP4LabBeforeFSR ()
 
EvtVector4R getP4Restframe () const
 
EvtVector4R get4Pos () const
 
EvtParticlegetParent () const
 
void insertDaugPtr (int idaug, EvtParticle *partptr)
 
double mass () const
 
int firstornot () const
 
void setFirstOrNot ()
 
void resetFirstOrNot ()
 
EvtId getId () const
 
int getPDGId () const
 
EvtSpinType::spintype getSpinType () const
 
int getSpinStates () const
 
const EvtVector4RgetP4 () const
 
void setP4 (const EvtVector4R &p4)
 
void setP4WithFSR (const EvtVector4R &p4)
 
void setFSRP4toZero ()
 
int getChannel () const
 
size_t getNDaug () const
 
void resetNDaug ()
 
void printTree () const
 
void printTreeRec (unsigned int level) const
 
std::string treeStr () const
 
std::string treeStrRec (unsigned int level) const
 
void printParticle () const
 
void setLifetime (double tau)
 
void setLifetime ()
 
double getLifetime ()
 
void setDiagonalSpinDensity ()
 
void setVectorSpinDensity ()
 
void setSpinDensityForward (const EvtSpinDensity &rho)
 
void setSpinDensityForwardHelicityBasis (const EvtSpinDensity &rho)
 
void setSpinDensityForwardHelicityBasis (const EvtSpinDensity &rho, double alpha, double beta, double gamma)
 
virtual EvtSpinDensity rotateToHelicityBasis () const =0
 
virtual EvtSpinDensity rotateToHelicityBasis (double alpha, double beta, double gamma) const =0
 
EvtSpinDensity getSpinDensityForward ()
 
void setSpinDensityBackward (const EvtSpinDensity &rho)
 
EvtSpinDensity getSpinDensityBackward ()
 
void noLifeTime ()
 
void setId (EvtId id)
 
void initDecay (bool useMinMass=false)
 
bool generateMassTree ()
 
double compMassProb ()
 
void setMass (double m)
 
bool isInitialized ()
 
bool hasValidP4 ()
 
bool isDecayed ()
 
double * decayProb ()
 
void setDecayProb (double p)
 
std::string getName ()
 
void setAttribute (std::string attName, int attValue)
 
int getAttribute (std::string attName)
 

Protected Types

typedef std::map< std::string,
int > 
EvtAttributeMap
 

Protected Member Functions

void setp (double e, double px, double py, double pz)
 
void setp (const EvtVector4R &p4)
 
void setpart_num (EvtId particle_number)
 

Protected Attributes

bool _validP4
 
EvtAttributeMap _attributes
 

Detailed Description

Definition at line 45 of file EvtParticle.hh.

Constructor & Destructor Documentation

EvtParticle::EvtParticle ( )

Default constructor.

virtual EvtParticle::~EvtParticle ( )
virtual

Destructor.

Member Function Documentation

void EvtParticle::addDaug ( EvtParticle node)

Add another daughter to the particle

void EvtParticle::decay ( )

Decay particle

void EvtParticle::deleteTree ( )
virtual EvtVector4C EvtParticle::eps ( int  i) const
virtual

Returns polarization vector in the particles own restframe.

Reimplemented in EvtVectorParticle.

virtual EvtVector4C EvtParticle::epsParent ( int  i) const
virtual

Returns polarization vector in the parents restframe.

Reimplemented in EvtVectorParticle.

virtual EvtVector4C EvtParticle::epsParentPhoton ( int  i)
virtual

Returns polarization vector in the parents restframe for a photon.

Reimplemented in EvtPhotonParticle.

virtual EvtVector4C EvtParticle::epsPhoton ( int  i)
virtual

Returns polarization vector in the particles own restframe for a photon.

Reimplemented in EvtPhotonParticle.

virtual EvtTensor4C EvtParticle::epsTensor ( int  i) const
virtual

Returns tensor in the particles own restframe for a spin 2 particle.

Reimplemented in EvtTensorParticle.

virtual EvtTensor4C EvtParticle::epsTensorParent ( int  i) const
virtual

Returns tensor in the parents restframe for a spin 2 particle.

Reimplemented in EvtTensorParticle.

int EvtParticle::firstornot ( ) const

Used internally to decide if first time particle is decayed.

EvtVector4R EvtParticle::get4Pos ( ) const

Returns the 4position of the particle in the lab frame.

int EvtParticle::getChannel ( ) const

Retunrs the decay channel.

EvtParticle* EvtParticle::getDaug ( int  i)

Get pointer the the i:th daugther.

EvtId EvtParticle::getId ( ) const

Returns Id of particle.

double EvtParticle::getLifetime ( )

Returns the lifetime.

size_t EvtParticle::getNDaug ( ) const

Returns number of daugthers.

const EvtVector4R& EvtParticle::getP4 ( ) const

Returns 4momentum in parents restframe.

Referenced by EvtVectorParticle::epsParent().

EvtVector4R EvtParticle::getP4Lab ( ) const

Gets 4vector in the labframe, i.e., the frame in which the root particles momentum is measured.

EvtVector4R EvtParticle::getP4LabBeforeFSR ( )

Gets 4vector in the labframe for the 4-momentum before FSR was generated in the parents decay. The lab frame is where the root particles momentum is measured.

EvtVector4R EvtParticle::getP4Restframe ( ) const

Gets 4vector in the particles restframe, i.e. this functiont will return (m,0,0,0)

EvtParticle* EvtParticle::getParent ( ) const

Returns pointer to parent particle.

int EvtParticle::getPDGId ( ) const

Returns the PDG id of the particle

EvtSpinDensity EvtParticle::getSpinDensityBackward ( )
inline

Get backward spin density matrix.

Definition at line 378 of file EvtParticle.hh.

EvtSpinDensity EvtParticle::getSpinDensityForward ( )
inline

Get forward spin density matrix.

Definition at line 368 of file EvtParticle.hh.

int EvtParticle::getSpinStates ( ) const

Returns number of spin states of the particle.

EvtSpinType::spintype EvtParticle::getSpinType ( ) const

Returns particle type.

virtual void EvtParticle::init ( EvtId  part_n,
const EvtVector4R p4 
)
pure virtual
double EvtParticle::initializePhaseSpace ( unsigned int  numdaughter,
EvtId daughters,
bool  forceResetMasses = false,
double  poleSize = -1.,
int  whichTwo1 = 0,
int  whichTwo2 = 1 
)

Similar to the routine above except that here momentum is generated according to phase space daughters are filled with this momentum.

void EvtParticle::insertDaugPtr ( int  idaug,
EvtParticle partptr 
)
inline

Makes partptr the idaug:th daugther.

Definition at line 229 of file EvtParticle.hh.

void EvtParticle::makeDaughters ( unsigned int  ndaug,
EvtId id 
)

Creates the daughters in the list of ids and adds them to the parent. Note that momentum is left uninitialized, this is only creation.

void EvtParticle::makeDaughters ( unsigned int  ndaug,
std::vector< EvtId idVector 
)

Creates the daughters in the list of ids and adds them to the parent. Note that momentum is left uninitialized, this is only creation.

void EvtParticle::makeStdHep ( EvtStdHep stdhep,
EvtSecondary secondary,
EvtId stable_parent_ihep 
)

Makes stdhep list

double EvtParticle::mass ( ) const

Returns mass of particle.

EvtParticle* EvtParticle::nextIter ( EvtParticle rootOfTree = 0)

Iterates over the particles in a decay chain.

void EvtParticle::printParticle ( ) const

Prints information for the particle.

void EvtParticle::printTree ( ) const

Prints out the particle "tree" of a given particle. The tree consists of all daughters (and their daughters, etc) and their properties.

virtual EvtSpinDensity EvtParticle::rotateToHelicityBasis ( ) const
pure virtual

Returns a rotation matrix need to rotate the basis state to the helicity basis. The EvtSpinDensity matrix is just use as a matrix here. This function is to be implemented in each derived class.

Implemented in EvtRaritaSchwingerParticle, EvtPhotonParticle, EvtDiracParticle, EvtTensorParticle, EvtVectorParticle, EvtStringParticle, EvtNeutrinoParticle, EvtScalarParticle, and EvtHighSpinParticle.

void EvtParticle::setChannel ( int  i)

Should only be used internally.

void EvtParticle::setDiagonalSpinDensity ( )

Set diagonal spindensity matrix.

Referenced by StarEvtGenDecayer::AppendParticle().

void EvtParticle::setLifetime ( double  tau)

Set lifetime of the particle in parents restframe.

void EvtParticle::setLifetime ( )

Generate lifetime according to pure exponential.

void EvtParticle::setP4 ( const EvtVector4R p4)
inline

Sets the 4momentum in the parents restframe.

Definition at line 273 of file EvtParticle.hh.

void EvtParticle::setSpinDensityBackward ( const EvtSpinDensity rho)
inline

Set backward spin density matrix.

Definition at line 373 of file EvtParticle.hh.

void EvtParticle::setSpinDensityForward ( const EvtSpinDensity rho)
inline

Set forward spin density matrix.

Definition at line 342 of file EvtParticle.hh.

void EvtParticle::setSpinDensityForwardHelicityBasis ( const EvtSpinDensity rho)

Set forward spin density matrix according to the density matrix rho in the helicity amplitude basis.

void EvtParticle::setVectorSpinDensity ( )

Set spindensity matrix for e+e- -> V

virtual EvtDiracSpinor EvtParticle::sp ( int  ) const
virtual

Returns Dirac spinor in the particles own restframe for a Dirac particle.

Reimplemented in EvtDiracParticle.

virtual EvtDiracSpinor EvtParticle::spNeutrino ( ) const
virtual

Returns Dirac spinor in the particles own restframe for a Neutrino particle.

Reimplemented in EvtNeutrinoParticle.

virtual EvtDiracSpinor EvtParticle::spParent ( int  ) const
virtual

Returns Dirac spinor in the parents restframe for a Dirac particle.

Reimplemented in EvtDiracParticle.

virtual EvtDiracSpinor EvtParticle::spParentNeutrino ( ) const
virtual

Returns Dirac spinor in the parents restframe for a Neutrino particle.

Reimplemented in EvtNeutrinoParticle.

virtual EvtRaritaSchwinger EvtParticle::spRS ( int  ) const
virtual

Returns Rarita-Schwinger spinor in the particles own restframe for a Rarita-Schwinger particle.

Reimplemented in EvtRaritaSchwingerParticle.

virtual EvtRaritaSchwinger EvtParticle::spRSParent ( int  ) const
virtual

Returns Rarita-Schwinger spinor in the parents restframe for a Rarita-Schwinger particle.

Reimplemented in EvtRaritaSchwingerParticle.


The documentation for this class was generated from the following file: