|
EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
|
#include <EvtGenBase/EvtParticle.hh>
Public Member Functions | |
| EvtParticle () | |
| virtual | ~EvtParticle () |
| virtual EvtVector4C | epsParent (int i) const |
| virtual EvtVector4C | eps (int i) const |
| virtual EvtVector4C | epsParentPhoton (int i) const |
| virtual EvtVector4C | epsPhoton (int i) const |
| 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 (size_t ndaug, const EvtId *id) |
| void | makeDaughters (size_t ndaug, const std::vector< EvtId > idVector) |
| double | initializePhaseSpace (size_t numdaughter, const EvtId *daughters, bool forceResetMasses=false, double poleSize=-1., int whichTwo1=0, int whichTwo2=1) |
| EvtParticle * | getDaug (const int i) |
| const EvtParticle * | getDaug (const int i) const |
| EvtParticle * | nextIter (EvtParticle *rootOfTree=nullptr) |
| void | makeStdHep (EvtStdHep &stdhep, EvtSecondary &secondary, EvtId *stable_parent_ihep) |
| void | makeStdHep (EvtStdHep &stdhep) |
| EvtVector4R | getP4Lab () const |
| EvtVector4R | getP4LabBeforeFSR () const |
| EvtVector4R | getP4Restframe () const |
| EvtVector4R | get4Pos () const |
| EvtParticle * | getParent () 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 EvtVector4R & | getP4 () 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 () const |
| 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 () |
| const double * | decayProb () const |
| void | setDecayProb (double p) |
| std::string | getName () const |
| void | setAttribute (std::string attName, int attValue) |
| int | getAttribute (std::string attName) const |
| void | setAttributeDouble (std::string attName, double attValue) |
| double | getAttributeDouble (std::string attName) const |
Protected Types | |
| typedef std::map< std::string, int > | EvtAttIntMap |
| typedef std::map< std::string, double > | EvtAttDblMap |
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 | m_validP4 |
| EvtAttIntMap | m_intAttributes |
| EvtAttDblMap | m_dblAttributes |
Private Member Functions | |
| void | makeStdHepRec (int firstparent, int lastparent, EvtStdHep &stdhep, EvtSecondary &secondary, EvtId *stable_parent_ihep) |
| void | makeStdHepRec (int firstparent, int lastparent, EvtStdHep &stdhep) |
| EvtParticle & | operator= (const EvtParticle &p) |
| EvtParticle (const EvtParticle &p) | |
Private Attributes | |
| EvtParticle * | m_daug [MAX_DAUG] |
| size_t | m_ndaug |
| EvtParticle * | m_parent |
| int | m_channel |
| int | m_first |
| EvtId | m_id |
| EvtVector4R | m_p |
| EvtVector4R | m_pBeforeFSR |
| double | m_t |
| bool | m_isInit |
| bool | m_isDecayed |
| EvtSpinDensity | m_rhoForward |
| EvtSpinDensity | m_rhoBackward |
| int | m_genlifetime |
| double * | m_decayProb |
Definition at line 45 of file EvtParticle.hh.
|
protected |
Definition at line 467 of file EvtParticle.hh.
|
protected |
Definition at line 463 of file EvtParticle.hh.
| EvtParticle::EvtParticle | ( | ) |
Default constructor.
Definition at line 59 of file EvtParticle.cpp.
|
virtual |
Destructor.
Definition at line 54 of file EvtParticle.cpp.
|
private |
| void EvtParticle::addDaug | ( | EvtParticle * | node | ) |
Add another daughter to the particle
Definition at line 112 of file EvtParticle.cpp.
| double EvtParticle::compMassProb | ( | ) |
Definition at line 557 of file EvtParticle.cpp.
| void EvtParticle::decay | ( | ) |
Decay particle
Definition at line 438 of file EvtParticle.cpp.
|
inline |
Definition at line 414 of file EvtParticle.hh.
| void EvtParticle::deleteDaughters | ( | bool | keepChannel = false | ) |
Definition at line 591 of file EvtParticle.cpp.
| void EvtParticle::deleteTree | ( | ) |
Delete a decay chain
Definition at line 604 of file EvtParticle.cpp.
|
virtual |
Returns polarization vector in the particles own restframe.
Reimplemented in EvtVectorParticle.
Definition at line 623 of file EvtParticle.cpp.
|
virtual |
Returns polarization vector in the parents restframe.
Reimplemented in EvtVectorParticle.
Definition at line 611 of file EvtParticle.cpp.
|
virtual |
Returns polarization vector in the parents restframe for a photon.
Reimplemented in EvtPhotonParticle.
Definition at line 635 of file EvtParticle.cpp.
|
virtual |
Returns polarization vector in the particles own restframe for a photon.
Reimplemented in EvtPhotonParticle.
Definition at line 647 of file EvtParticle.cpp.
|
virtual |
Returns tensor in the particles own restframe for a spin 2 particle.
Reimplemented in EvtTensorParticle.
Definition at line 720 of file EvtParticle.cpp.
|
virtual |
Returns tensor in the parents restframe for a spin 2 particle.
Reimplemented in EvtTensorParticle.
Definition at line 708 of file EvtParticle.cpp.
| int EvtParticle::firstornot | ( | ) | const |
Used internally to decide if first time particle is decayed.
Definition at line 119 of file EvtParticle.cpp.
| bool EvtParticle::generateMassTree | ( | ) |
Definition at line 509 of file EvtParticle.cpp.
| EvtVector4R EvtParticle::get4Pos | ( | ) | const |
Returns the 4position of the particle in the lab frame.
Definition at line 793 of file EvtParticle.cpp.
| int EvtParticle::getAttribute | ( | std::string | attName | ) | const |
Definition at line 1284 of file EvtParticle.cpp.
| double EvtParticle::getAttributeDouble | ( | std::string | attName | ) | const |
Definition at line 1300 of file EvtParticle.cpp.
| int EvtParticle::getChannel | ( | ) | const |
Retunrs the decay channel.
Definition at line 149 of file EvtParticle.cpp.
|
inline |
Get pointer the the i:th daugther.
Definition at line 173 of file EvtParticle.hh.
|
inline |
Get const pointer the the i:th daugther.
Definition at line 178 of file EvtParticle.hh.
| EvtId EvtParticle::getId | ( | ) | const |
Returns Id of particle.
Definition at line 124 of file EvtParticle.cpp.
| double EvtParticle::getLifetime | ( | ) | const |
Returns the lifetime.
Definition at line 107 of file EvtParticle.cpp.
| std::string EvtParticle::getName | ( | ) | const |
Definition at line 1278 of file EvtParticle.cpp.
| size_t EvtParticle::getNDaug | ( | ) | const |
Returns number of daugthers.
Definition at line 154 of file EvtParticle.cpp.
| const EvtVector4R & EvtParticle::getP4 | ( | ) | const |
Returns 4momentum in parents restframe.
Definition at line 144 of file EvtParticle.cpp.
| EvtVector4R EvtParticle::getP4Lab | ( | ) | const |
Gets 4vector in the labframe, i.e., the frame in which the root particles momentum is measured.
Definition at line 756 of file EvtParticle.cpp.
| EvtVector4R EvtParticle::getP4LabBeforeFSR | ( | ) | const |
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.
Definition at line 772 of file EvtParticle.cpp.
| EvtVector4R EvtParticle::getP4Restframe | ( | ) | const |
Gets 4vector in the particles restframe, i.e. this functiont will return (m,0,0,0)
Definition at line 788 of file EvtParticle.cpp.
| EvtParticle * EvtParticle::getParent | ( | ) | const |
Returns pointer to parent particle.
Definition at line 90 of file EvtParticle.cpp.
| int EvtParticle::getPDGId | ( | ) | const |
Returns the PDG id of the particle
Definition at line 129 of file EvtParticle.cpp.
|
inline |
Get backward spin density matrix.
Definition at line 381 of file EvtParticle.hh.
|
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.
Definition at line 139 of file EvtParticle.cpp.
| EvtSpinType::spintype EvtParticle::getSpinType | ( | ) | const |
Returns particle type.
Definition at line 134 of file EvtParticle.cpp.
|
inline |
Definition at line 407 of file EvtParticle.hh.
|
pure virtual |
Initialiaze particle with id and 4momentum.
Implemented in EvtDiracParticle, EvtHighSpinParticle, EvtNeutrinoParticle, EvtPhotonParticle, EvtRaritaSchwingerParticle, EvtScalarParticle, EvtStringParticle, EvtTensorParticle, and EvtVectorParticle.
| void EvtParticle::initDecay | ( | bool | useMinMass = false | ) |
Definition at line 244 of file EvtParticle.cpp.
| double EvtParticle::initializePhaseSpace | ( | size_t | numdaughter, |
| const 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.
Definition at line 1100 of file EvtParticle.cpp.
|
inline |
Makes partptr the idaug:th daugther.
Definition at line 224 of file EvtParticle.hh.
|
inline |
Definition at line 408 of file EvtParticle.hh.
|
inline |
Definition at line 406 of file EvtParticle.hh.
| void EvtParticle::makeDaughters | ( | size_t | ndaug, |
| const 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.
Definition at line 1235 of file EvtParticle.cpp.
| void EvtParticle::makeDaughters | ( | size_t | ndaug, |
| const 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.
Definition at line 1212 of file EvtParticle.cpp.
| void EvtParticle::makeStdHep | ( | EvtStdHep & | stdhep | ) |
Definition at line 883 of file EvtParticle.cpp.
| void EvtParticle::makeStdHep | ( | EvtStdHep & | stdhep, |
| EvtSecondary & | secondary, | ||
| EvtId * | stable_parent_ihep ) |
Makes stdhep list
Definition at line 851 of file EvtParticle.cpp.
|
private |
Definition at line 931 of file EvtParticle.cpp.
|
private |
Definition at line 900 of file EvtParticle.cpp.
| double EvtParticle::mass | ( | ) | const |
Returns mass of particle.
Definition at line 159 of file EvtParticle.cpp.
| EvtParticle * EvtParticle::nextIter | ( | EvtParticle * | rootOfTree = nullptr | ) |
Iterates over the particles in a decay chain.
Definition at line 817 of file EvtParticle.cpp.
|
inline |
Definition at line 386 of file EvtParticle.hh.
|
private |
| void EvtParticle::printParticle | ( | ) | const |
Prints information for the particle.
Definition at line 1020 of file EvtParticle.cpp.
| 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.
Definition at line 976 of file EvtParticle.cpp.
| void EvtParticle::printTreeRec | ( | unsigned int | level | ) | const |
Definition at line 947 of file EvtParticle.cpp.
| void EvtParticle::resetFirstOrNot | ( | ) |
Definition at line 80 of file EvtParticle.cpp.
|
inline |
Definition at line 290 of file EvtParticle.hh.
|
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 EvtDiracParticle, EvtHighSpinParticle, EvtNeutrinoParticle, EvtPhotonParticle, EvtRaritaSchwingerParticle, EvtScalarParticle, EvtStringParticle, EvtTensorParticle, and EvtVectorParticle.
|
pure virtual |
|
inline |
Definition at line 423 of file EvtParticle.hh.
|
inline |
Definition at line 433 of file EvtParticle.hh.
| void EvtParticle::setChannel | ( | int | i | ) |
Should only be used internally.
Definition at line 85 of file EvtParticle.cpp.
| void EvtParticle::setDecayProb | ( | double | p | ) |
Definition at line 1271 of file EvtParticle.cpp.
| void EvtParticle::setDiagonalSpinDensity | ( | ) |
Set diagonal spindensity matrix.
Definition at line 164 of file EvtParticle.cpp.
| void EvtParticle::setFirstOrNot | ( | ) |
Definition at line 76 of file EvtParticle.cpp.
|
inline |
Definition at line 279 of file EvtParticle.hh.
|
inline |
Definition at line 389 of file EvtParticle.hh.
| void EvtParticle::setLifetime | ( | ) |
Generate lifetime according to pure exponential.
Definition at line 100 of file EvtParticle.cpp.
| void EvtParticle::setLifetime | ( | double | tau | ) |
Set lifetime of the particle in parents restframe.
Definition at line 95 of file EvtParticle.cpp.
|
inline |
Definition at line 396 of file EvtParticle.hh.
|
inlineprotected |
Definition at line 448 of file EvtParticle.hh.
|
inlineprotected |
Definition at line 442 of file EvtParticle.hh.
|
inline |
Sets the 4momentum in the parents restframe.
Definition at line 271 of file EvtParticle.hh.
|
inline |
Definition at line 277 of file EvtParticle.hh.
|
inlineprotected |
Definition at line 454 of file EvtParticle.hh.
|
inline |
Set backward spin density matrix.
Definition at line 373 of file EvtParticle.hh.
|
inline |
Set forward spin density matrix.
Definition at line 341 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.
Definition at line 190 of file EvtParticle.cpp.
| void EvtParticle::setSpinDensityForwardHelicityBasis | ( | const EvtSpinDensity & | rho, |
| double | alpha, | ||
| double | beta, | ||
| double | gamma ) |
Definition at line 216 of file EvtParticle.cpp.
| void EvtParticle::setVectorSpinDensity | ( | ) |
Set spindensity matrix for e+e- -> V
Definition at line 169 of file EvtParticle.cpp.
|
virtual |
Returns Dirac spinor in the particles own restframe for a Dirac particle.
Reimplemented in EvtDiracParticle.
Definition at line 672 of file EvtParticle.cpp.
|
virtual |
Returns Dirac spinor in the particles own restframe for a Neutrino particle.
Reimplemented in EvtNeutrinoParticle.
Definition at line 696 of file EvtParticle.cpp.
|
virtual |
Returns Dirac spinor in the parents restframe for a Dirac particle.
Reimplemented in EvtDiracParticle.
Definition at line 660 of file EvtParticle.cpp.
|
virtual |
Returns Dirac spinor in the parents restframe for a Neutrino particle.
Reimplemented in EvtNeutrinoParticle.
Definition at line 684 of file EvtParticle.cpp.
|
virtual |
Returns Rarita-Schwinger spinor in the particles own restframe for a Rarita-Schwinger particle.
Reimplemented in EvtRaritaSchwingerParticle.
Definition at line 744 of file EvtParticle.cpp.
|
virtual |
Returns Rarita-Schwinger spinor in the parents restframe for a Rarita-Schwinger particle.
Reimplemented in EvtRaritaSchwingerParticle.
Definition at line 732 of file EvtParticle.cpp.
| std::string EvtParticle::treeStr | ( | ) | const |
Definition at line 1010 of file EvtParticle.cpp.
| std::string EvtParticle::treeStrRec | ( | unsigned int | level | ) | const |
Definition at line 988 of file EvtParticle.cpp.
|
private |
Definition at line 474 of file EvtParticle.hh.
|
private |
Definition at line 471 of file EvtParticle.hh.
|
protected |
Definition at line 468 of file EvtParticle.hh.
|
private |
Definition at line 500 of file EvtParticle.hh.
|
private |
Definition at line 475 of file EvtParticle.hh.
|
private |
Definition at line 493 of file EvtParticle.hh.
|
private |
Definition at line 476 of file EvtParticle.hh.
|
protected |
Definition at line 464 of file EvtParticle.hh.
|
private |
Definition at line 481 of file EvtParticle.hh.
|
private |
Definition at line 480 of file EvtParticle.hh.
|
private |
Definition at line 472 of file EvtParticle.hh.
|
private |
Definition at line 477 of file EvtParticle.hh.
|
private |
Definition at line 473 of file EvtParticle.hh.
|
private |
Definition at line 478 of file EvtParticle.hh.
|
private |
Definition at line 486 of file EvtParticle.hh.
|
private |
Definition at line 485 of file EvtParticle.hh.
|
private |
Definition at line 479 of file EvtParticle.hh.
|
protected |
Definition at line 460 of file EvtParticle.hh.