]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenBase/EvtPartProp.hh
New plots for trending injector efficiencies (Melinda)
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtPartProp.hh
CommitLineData
da0e9ce3 1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtGen/EvtPartProp.hh
12//
13// Description: Class to keep the particle properties for
14// one particle
15//
16// Modification history:
17//
18// RYD April 4, 1997 Module created
19//
20//------------------------------------------------------------------------
21
22#ifndef EVTPARTPROP_HH
23#define EVTPARTPROP_HH
24
25#include "EvtGenBase/EvtSpinType.hh"
26#include "EvtGenBase/EvtId.hh"
27#include <string>
28#include "EvtGenBase/EvtAbsLineShape.hh"
29
30
31class EvtPartProp {
32
33public:
34
35 EvtPartProp();
36 EvtPartProp(const EvtPartProp& x);
37
38 ~EvtPartProp();
39
40 double getMass() {return _lineShape->getMass();}
41 double getMassMin() {return _lineShape->getMassMin();}
42 double getMassMax() {return _lineShape->getMassMax();}
43 double getMaxRange() {return _lineShape->getMaxRange();}
44 double getWidth() {return _lineShape->getWidth();}
45
46 double getRandMass(EvtId *parId, int nDaug, EvtId *dauId,EvtId *othDauId,double maxMass, double *dauMasses) {return _lineShape->getRandMass(parId,nDaug,dauId,othDauId,maxMass,dauMasses);}
47 double getMassProb(double mass, double massPar, int nDaug, double *massDau) { return _lineShape->getMassProb(mass,massPar,nDaug,massDau);}
48
49 double getctau() {return _ctau; }
50 void setctau(double tau) { _ctau=tau; }
51
52 int getChg3() {return _chg3; }
53 void setChg3(int c3) { _chg3=c3; }
54
55 EvtSpinType::spintype getSpinType() {return _spintype; }
56 void setSpinType(EvtSpinType::spintype stype ) { _spintype=stype; }
57
58 const std::string& getName() {return _name;}
59 void setName(std::string pname);
60
61 EvtId getId() {return _id;}
62 void setId(EvtId id) {_id=id;}
63
64 EvtId getIdChgConj() {return _idchgconj;}
65 void setIdChgConj(EvtId idchgconj) {_idchgconj=idchgconj;}
66
67 int getStdHep() {return _stdhep;}
68 void setStdHep(int stdhep) {_stdhep=stdhep;}
69
70 int getLundKC() {return _lundkc;}
71 void setLundKC(int lundkc) {_lundkc=lundkc;}
72
73 EvtAbsLineShape* getLineShape() {return _lineShape;}
74 void initLineShape(double mass, double width, double maxRange);
75 // void initLineShape(double mass, double width, double maxRange, double mDaug1, double mDaug2, int l);
76
77 // setLineShape takes ownership of l
78 void setLineShape(EvtAbsLineShape *l) { _lineShape=l;}
79 double rollMass(){return _lineShape->rollMass();}
80
81 EvtPartProp& operator=(const EvtPartProp& x);
82
83 void reSetMass(double mass);
84 void reSetWidth(double width);
85
86 void reSetMassMin(double mass);
87 void reSetMassMax(double mass);
88 void reSetBlatt(double blatt);
89 void includeBirthFactor(bool yesno);
90 void includeDecayFactor(bool yesno);
91 void newLineShape(std::string type);
92 void setPWForDecay( int spin, EvtId d1, EvtId d2);
93 void setPWForBirthL( int spin, EvtId par, EvtId othD);
94 void fixLSForSP8() {_lineShape->fixForSP8();}
95
96private:
97
98 EvtAbsLineShape *_lineShape;
99
100 double _ctau;
101 EvtId _id;
102 EvtId _idchgconj;
103 EvtSpinType::spintype _spintype;
104 int _chg3;
105 int _stdhep;
106 int _lundkc;
107 std::string _name;
108
109};
110
111#endif
112