evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.

#include <EvtGenBase/EvtPhotonParticle.hh>

Inheritance diagram for EvtPhotonParticle:
EvtParticle

Public Member Functions

 EvtPhotonParticle ()=default
 
void init (EvtId part_n, double e, double px, double py, double pz)
 
void init (EvtId part_n, const EvtVector4R &p4) override
 
EvtVector4C epsParentPhoton (int i) override
 
EvtVector4C epsPhoton (int i) 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 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
 
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)
 
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)
 
void setAttributeDouble (std::string attName, double attValue)
 
double getAttributeDouble (std::string attName)
 

Private Member Functions

 EvtPhotonParticle (const EvtPhotonParticle &photon)
 
EvtPhotonParticleoperator= (const EvtPhotonParticle &photon)
 

Private Attributes

EvtVector4C eps1
 
EvtVector4C eps2
 
int _evalBasis
 

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 _validP4
 
EvtAttIntMap _intAttributes
 
EvtAttDblMap _dblAttributes
 

Detailed Description

Definition at line 30 of file EvtPhotonParticle.hh.

Constructor & Destructor Documentation

◆ EvtPhotonParticle() [1/2]

EvtPhotonParticle::EvtPhotonParticle ( )
default

◆ EvtPhotonParticle() [2/2]

EvtPhotonParticle::EvtPhotonParticle ( const EvtPhotonParticle photon)
private

Member Function Documentation

◆ epsParentPhoton()

EvtVector4C EvtPhotonParticle::epsParentPhoton ( int  i)
overridevirtual

Returns polarization vector in the parents restframe for a photon.

Reimplemented from EvtParticle.

Definition at line 51 of file EvtPhotonParticle.cpp.

◆ epsPhoton()

EvtVector4C EvtPhotonParticle::epsPhoton ( int  i)
overridevirtual

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

Reimplemented from EvtParticle.

Definition at line 97 of file EvtPhotonParticle.cpp.

◆ init() [1/2]

void EvtPhotonParticle::init ( EvtId  part_n,
double  e,
double  px,
double  py,
double  pz 
)

Definition at line 38 of file EvtPhotonParticle.cpp.

◆ init() [2/2]

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

Initialiaze particle with id and 4momentum.

Implements EvtParticle.

Definition at line 33 of file EvtPhotonParticle.cpp.

◆ operator=()

EvtPhotonParticle& EvtPhotonParticle::operator= ( const EvtPhotonParticle photon)
private

◆ rotateToHelicityBasis() [1/2]

EvtSpinDensity EvtPhotonParticle::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 107 of file EvtPhotonParticle.cpp.

◆ rotateToHelicityBasis() [2/2]

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

Implements EvtParticle.

Definition at line 131 of file EvtPhotonParticle.cpp.

Member Data Documentation

◆ _evalBasis

int EvtPhotonParticle::_evalBasis
private

Definition at line 47 of file EvtPhotonParticle.hh.

◆ eps1

EvtVector4C EvtPhotonParticle::eps1
private

Definition at line 46 of file EvtPhotonParticle.hh.

◆ eps2

EvtVector4C EvtPhotonParticle::eps2
private

Definition at line 46 of file EvtPhotonParticle.hh.


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