StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtPartProp.hh
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  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 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 
Definition: EvtId.hh:27