EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtDiracParticle Class Reference

#include <EvtGenBase/EvtDiracParticle.hh>

Inheritance diagram for EvtDiracParticle:
EvtParticle

Public Member Functions

 EvtDiracParticle ()=default
void init (EvtId part_n, const EvtVector4R &p4) override
void init (EvtId part_n, const EvtVector4R &p4, const EvtDiracSpinor &, const EvtDiracSpinor &, const EvtDiracSpinor &, const EvtDiracSpinor &)
EvtDiracSpinor spParent (int i) const override
EvtDiracSpinor sp (int i) const override
EvtSpinDensity rotateToHelicityBasis () const override
EvtSpinDensity rotateToHelicityBasis (double alpha, double beta, double gamma) const override
Public Member Functions inherited from EvtParticle
 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 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
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)
EvtParticlegetDaug (const int i)
const EvtParticlegetDaug (const int i) const
EvtParticlenextIter (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
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 () 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)
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

Private Member Functions

 EvtDiracParticle (const EvtDiracParticle &d)
EvtDiracParticleoperator= (const EvtDiracParticle &d)

Private Attributes

EvtDiracSpinor m_spinorRest [2]
EvtDiracSpinor m_spinorParent [2]

Additional Inherited Members

Protected Types inherited from EvtParticle
typedef std::map< std::string, int > EvtAttIntMap
typedef std::map< std::string, double > EvtAttDblMap
Protected Member Functions inherited from EvtParticle
void setp (double e, double px, double py, double pz)
void setp (const EvtVector4R &p4)
void setpart_num (EvtId particle_number)
Protected Attributes inherited from EvtParticle
bool m_validP4
EvtAttIntMap m_intAttributes
EvtAttDblMap m_dblAttributes

Detailed Description

Definition at line 30 of file EvtDiracParticle.hh.

Constructor & Destructor Documentation

◆ EvtDiracParticle() [1/2]

EvtDiracParticle::EvtDiracParticle ( )
default

◆ EvtDiracParticle() [2/2]

EvtDiracParticle::EvtDiracParticle ( const EvtDiracParticle & d)
private

Member Function Documentation

◆ init() [1/2]

void EvtDiracParticle::init ( EvtId part_n,
const EvtVector4R & p4 )
overridevirtual

Initialiaze particle with id and 4momentum.

Implements EvtParticle.

Definition at line 35 of file EvtDiracParticle.cpp.

◆ init() [2/2]

void EvtDiracParticle::init ( EvtId part_n,
const EvtVector4R & p4,
const EvtDiracSpinor & prod1,
const EvtDiracSpinor & prod2,
const EvtDiracSpinor & rest1,
const EvtDiracSpinor & rest2 )

Definition at line 74 of file EvtDiracParticle.cpp.

◆ operator=()

EvtDiracParticle & EvtDiracParticle::operator= ( const EvtDiracParticle & d)
private

◆ rotateToHelicityBasis() [1/2]

EvtSpinDensity EvtDiracParticle::rotateToHelicityBasis ( ) const
overridevirtual

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.

Implements EvtParticle.

Definition at line 98 of file EvtDiracParticle.cpp.

◆ rotateToHelicityBasis() [2/2]

EvtSpinDensity EvtDiracParticle::rotateToHelicityBasis ( double alpha,
double beta,
double gamma ) const
overridevirtual

Implements EvtParticle.

Definition at line 124 of file EvtDiracParticle.cpp.

◆ sp()

EvtDiracSpinor EvtDiracParticle::sp ( int i) const
inlineoverridevirtual

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

Reimplemented from EvtParticle.

Definition at line 41 of file EvtDiracParticle.hh.

◆ spParent()

EvtDiracSpinor EvtDiracParticle::spParent ( int i) const
inlineoverridevirtual

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

Reimplemented from EvtParticle.

Definition at line 37 of file EvtDiracParticle.hh.

Member Data Documentation

◆ m_spinorParent

EvtDiracSpinor EvtDiracParticle::m_spinorParent[2]
private

Definition at line 48 of file EvtDiracParticle.hh.

◆ m_spinorRest

EvtDiracSpinor EvtDiracParticle::m_spinorRest[2]
private

Definition at line 47 of file EvtDiracParticle.hh.


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