BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtStringParticle Class Reference

#include <EvtStringParticle.hh>

+ Inheritance diagram for EvtStringParticle:

Public Member Functions

 EvtStringParticle ()
 
virtual ~EvtStringParticle ()
 
void init (EvtId id, const EvtVector4R &p4)
 
void initPartons (int npartons, EvtVector4R *p4partons, EvtId *idpartons)
 
int getNPartons ()
 
EvtId getIdParton (int i)
 
EvtVector4R getP4Parton (int i)
 
EvtSpinDensity rotateToHelicityBasis () const
 
EvtSpinDensity rotateToHelicityBasis (double alpha, double beta, double gamma) const
 
- 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)
 
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 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 setGeneratorFlag (int flag)
 
int getGeneratorFlag ()
 
void setIntFlag (std::vector< int > vi)
 
std::vector< int > getIntFlag ()
 
void makeDaughters (int ndaug, EvtId *id)
 
double initializePhaseSpace (int numdaughter, EvtId *daughters, 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 ()
 
EvtVector4R getP4Restframe ()
 
EvtVector4R get4Pos ()
 
EvtParticlegetParent ()
 
void insertDaugPtr (int idaug, EvtParticle *partptr)
 
double mass () const
 
int firstornot () const
 
void setFirstOrNot ()
 
void resetFirstOrNot ()
 
EvtId getId () const
 
EvtSpinType::spintype getSpinType () const
 
int getSpinStates () const
 
const EvtVector4RgetP4 () const
 
void setP4 (const EvtVector4R &p4)
 
int getChannel () const
 
int getNDaug () const
 
void resetNDaug ()
 
void printTree () const
 
void printTreeRec (int level) const
 
std::string writeTreeRec (std::string) const
 
void dumpTree () const
 
void dumpTreeRec (int level, int dj) const
 
std::string treeStr () const
 
std::string treeStrRec (int level) const
 
void printParticle () const
 
void setLifetime (double tau)
 
void setLifetime ()
 
double getLifetime ()
 
void setDiagonalSpinDensity ()
 
void setVectorSpinDensity ()
 
void setPolarizedSpinDensity (double r00, double r11, double r22)
 
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)
 
void generateMassTree ()
 
double compMassProb ()
 
void setMass (double m)
 
bool isInitialized ()
 
bool hasValidP4 ()
 
bool isDecayed ()
 
double * decayProb ()
 
void setDecayProb (double p)
 
void setInclusiveMode (int im)
 
int getInclusiveMode ()
 

Additional Inherited Members

- 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
 

Detailed Description

Definition at line 29 of file EvtStringParticle.hh.

Constructor & Destructor Documentation

◆ EvtStringParticle()

EvtStringParticle::EvtStringParticle ( )

Definition at line 41 of file EvtStringParticle.cc.

41 {
42
43 _p4partons=0;
44 _idpartons=0;
45 _npartons=0;
46
47 return;
48
49}

◆ ~EvtStringParticle()

EvtStringParticle::~EvtStringParticle ( )
virtual

Definition at line 29 of file EvtStringParticle.cc.

29 {
30
31 if (_npartons!=0){
32
33 delete [] _p4partons;
34 delete [] _idpartons;
35
36 }
37
38}

Member Function Documentation

◆ getIdParton()

EvtId EvtStringParticle::getIdParton ( int  i)

Definition at line 85 of file EvtStringParticle.cc.

85 {
86
87 return _idpartons[i];
88
89}

◆ getNPartons()

int EvtStringParticle::getNPartons ( )

Definition at line 79 of file EvtStringParticle.cc.

79 {
80
81 return _npartons;
82
83}

◆ getP4Parton()

EvtVector4R EvtStringParticle::getP4Parton ( int  i)

Definition at line 91 of file EvtStringParticle.cc.

91 {
92
93 return _p4partons[i];
94
95}

◆ init()

void EvtStringParticle::init ( EvtId  part_n,
const EvtVector4R p4 
)
virtual

Initialiaze particle with id and 4momentum.

Implements EvtParticle.

Definition at line 51 of file EvtStringParticle.cc.

51 {
52
53 _validP4=true;
54 setp(p4);
55 setpart_num(id);
56
57}
void setp(double e, double px, double py, double pz)
Definition: EvtParticle.hh:398
void setpart_num(EvtId particle_number)
Definition: EvtParticle.hh:400

Referenced by EvtParticleFactory::particleFactory().

◆ initPartons()

void EvtStringParticle::initPartons ( int  npartons,
EvtVector4R p4partons,
EvtId idpartons 
)

Definition at line 60 of file EvtStringParticle.cc.

61 {
62
63 _p4partons = new EvtVector4R[npartons];
64 _idpartons = new EvtId[npartons];
65
66 int i;
67
68 _npartons=npartons;
69
70 for(i=0;i<npartons;i++){
71
72 _p4partons[i]=p4partons[i];
73 _idpartons[i]=idpartons[i];
74
75 }
76
77}
Definition: EvtId.hh:27

◆ rotateToHelicityBasis() [1/2]

EvtSpinDensity EvtStringParticle::rotateToHelicityBasis ( ) const
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.

Implements EvtParticle.

Definition at line 97 of file EvtStringParticle.cc.

97 {
98
99 report(ERROR,"EvtGen") << "rotateToHelicityBasis not implemented for strin particle.";
100 report(ERROR,"EvtGen") << "Will terminate execution.";
101
102 ::abort();
103
104 EvtSpinDensity rho;
105 return rho;
106
107}
ostream & report(Severity severity, const char *facility)
Definition: EvtReport.cc:36
@ ERROR
Definition: EvtReport.hh:49

◆ rotateToHelicityBasis() [2/2]

EvtSpinDensity EvtStringParticle::rotateToHelicityBasis ( double  alpha,
double  beta,
double  gamma 
) const
virtual

Implements EvtParticle.

Definition at line 109 of file EvtStringParticle.cc.

111 {
112
113 report(ERROR,"EvtGen") << "rotateToHelicityBasis(alpha,beta,gamma) not implemented for string particle.";
114 report(ERROR,"EvtGen") << "Will terminate execution.";
115
116 ::abort();
117
118 EvtSpinDensity rho;
119 return rho;
120
121}

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