Line data Source code
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 :
31 : class EvtPartProp {
32 :
33 : public:
34 :
35 : EvtPartProp();
36 : EvtPartProp(const EvtPartProp& x);
37 :
38 : ~EvtPartProp();
39 :
40 0 : double getMass() {return _lineShape->getMass();}
41 0 : double getMassMin() {return _lineShape->getMassMin();}
42 0 : double getMassMax() {return _lineShape->getMassMax();}
43 0 : double getMaxRange() {return _lineShape->getMaxRange();}
44 0 : double getWidth() {return _lineShape->getWidth();}
45 :
46 0 : double getRandMass(EvtId *parId, int nDaug, EvtId *dauId,EvtId *othDauId,double maxMass, double *dauMasses) {return _lineShape->getRandMass(parId,nDaug,dauId,othDauId,maxMass,dauMasses);}
47 0 : double getMassProb(double mass, double massPar, int nDaug, double *massDau) { return _lineShape->getMassProb(mass,massPar,nDaug,massDau);}
48 :
49 0 : double getctau() {return _ctau; }
50 0 : void setctau(double tau) { _ctau=tau; }
51 :
52 0 : int getChg3() {return _chg3; }
53 0 : void setChg3(int c3) { _chg3=c3; }
54 :
55 0 : EvtSpinType::spintype getSpinType() {return _spintype; }
56 0 : void setSpinType(EvtSpinType::spintype stype ) { _spintype=stype; }
57 :
58 0 : const std::string& getName() {return _name;}
59 : void setName(std::string pname);
60 :
61 0 : EvtId getId() {return _id;}
62 0 : void setId(EvtId id) {_id=id;}
63 :
64 0 : EvtId getIdChgConj() {return _idchgconj;}
65 0 : void setIdChgConj(EvtId idchgconj) {_idchgconj=idchgconj;}
66 :
67 0 : int getStdHep() {return _stdhep;}
68 0 : void setStdHep(int stdhep) {_stdhep=stdhep;}
69 :
70 0 : int getLundKC() {return _lundkc;}
71 0 : 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 0 : 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 reSetBlattBirth(double blatt);
90 : void includeBirthFactor(bool yesno);
91 : void includeDecayFactor(bool yesno);
92 : void newLineShape(std::string type);
93 : void setPWForDecay( int spin, EvtId d1, EvtId d2);
94 : void setPWForBirthL( int spin, EvtId par, EvtId othD);
95 :
96 : private:
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 :
|