CGEM BOSS 6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtPartProp.cc
Go to the documentation of this file.
2 //--------------------------------------------------------------------------
3//
4// Environment:
5// This software is part of the EvtGen package developed jointly
6// for the BaBar and CLEO collaborations. If you use all or part
7// of it, please give an appropriate acknowledgement.
8//
9// Copyright Information: See EvtGen/COPYRIGHT
10// Copyright (C) 1998 Caltech, UCSB
11//
12// Module: EvtPartProp.cc
13//
14// Description: Store particle properties for one particle.
15//
16// Modification history:
17//
18// RYD April 4, 1997 Module created
19//
20//------------------------------------------------------------------------
21//
22#include <iostream>
23#include <fstream>
24#include <stdlib.h>
25#include <ctype.h>
31#include <string>
32using std::fstream;
33
35 _id(-1,-1)
36 ,_idchgconj(-1,-1)
37 ,_chg3(0)
38 ,_stdhep(0)
39 ,_lundkc(0)
40{
41 _lineShape=0;
42 _ctau=0.0;
43 _name="*******";
44 _spintype=EvtSpinType::SCALAR;
45}
46
48
49 if (0!=x._lineShape){
50 _lineShape=x._lineShape->clone();
51 }
52 else{
53 _lineShape=0;
54 }
55 _ctau=x._ctau;
56 _name=x._name;
57 _spintype=x._spintype;
58 _id=x._id;
59 _idchgconj=x._idchgconj;
60 _chg3=x._chg3;
61 _stdhep=x._stdhep;
62 _lundkc=x._lundkc;
63
64}
65
67 if ( _lineShape ) delete _lineShape;
68 _lineShape=0;
69}
70
71
72void EvtPartProp::setName(std::string pname) {
73
74 _name=pname;
75
76}
77
78
80
81 _lineShape=x._lineShape->clone();
82
83 _ctau=x._ctau;
84 _name=x._name;
85 _chg3=x._chg3;
86 _spintype=x._spintype;
87 return *this;
88}
89
90void EvtPartProp::initLineShape(double mass, double width, double maxRange){
91
92 // _lineShape=new EvtAbsLineShape(mass,width,maxRange);
93 _lineShape=new EvtRelBreitWignerBarrierFact(mass,width,maxRange,_spintype);
94}
95
96void EvtPartProp::newLineShape(std::string type){
97
98 double m=_lineShape->getMass();
99 double w=_lineShape->getWidth();
100 double mR=_lineShape->getMaxRange();
101 EvtSpinType::spintype st=_lineShape->getSpinType();
102 delete _lineShape;
103 if ( type == "RELBW" ) {
104 _lineShape=new EvtRelBreitWignerBarrierFact(m,w,mR,st);
105 }
106 if ( type == "NONRELBW" ) {
107 _lineShape = new EvtAbsLineShape(m,w,mR,st);
108 }
109 if ( type == "FLAT" ) {
110 _lineShape = new EvtFlatLineShape(m,w,mR,st);
111 }
112 if ( type == "MANYDELTAFUNC" ) {
113 _lineShape = new EvtManyDeltaFuncLineShape(m,w,mR,st);
114 }
115}
116
117//void EvtPartProp::initLineShape(double mass, double width, double maxRange,
118// double mDaug1, double mDaug2, int l){
119//
120// _lineShape=new EvtRelBreitWignerBarrierFact(mass,width,maxRange,mDaug1,mDaug2,l);
121//}
122
124 if (!_lineShape) ::abort();
125 _lineShape->reSetMass(mass);
126}
127void EvtPartProp::reSetWidth(double width){
128 if (!_lineShape) ::abort();
129 _lineShape->reSetWidth(width);
130}
131
132void EvtPartProp::setPWForDecay( int spin, EvtId d1, EvtId d2) {
133 if (!_lineShape) ::abort();
134 _lineShape->setPWForDecay(spin,d1,d2);
135}
136
137void EvtPartProp::setPWForBirthL( int spin, EvtId par, EvtId othD) {
138 if (!_lineShape) ::abort();
139 _lineShape->setPWForBirthL(spin,par,othD);
140}
141
142
144 if (!_lineShape) ::abort();
145 _lineShape->reSetMassMin(mass);
146}
148 if (!_lineShape) ::abort();
149 _lineShape->reSetMassMax(mass);
150}
151void EvtPartProp::reSetBlatt(double blatt){
152 if (!_lineShape) ::abort();
153 _lineShape->reSetBlatt(blatt);
154}
156 if (!_lineShape) ::abort();
157 _lineShape->includeBirthFactor(yesno);
158}
160 if (!_lineShape) ::abort();
161 _lineShape->includeDecayFactor(yesno);
162}
163
164void EvtPartProp::addFactorPn(double factor=0){
165 if (!_lineShape) ::abort();
166 _lineShape->addFactorPn(factor);
167
168}
169
170
171
172
double mass
Double_t x[10]
void reSetWidth(double width)
void reSetMass(double mass)
void includeDecayFactor(bool yesno)
void addFactorPn(double factor=0.)
EvtSpinType::spintype getSpinType()
void setPWForBirthL(int spin, EvtId par, EvtId othD)
void reSetMassMax(double mass)
virtual void reSetBlatt(double blatt)
void includeBirthFactor(bool yesno)
void setPWForDecay(int spin, EvtId d1, EvtId d2)
void reSetMassMin(double mass)
Definition EvtId.hh:27
void initLineShape(double mass, double width, double maxRange)
void reSetBlatt(double blatt)
void setName(std::string pname)
void reSetMassMin(double mass)
void setPWForDecay(int spin, EvtId d1, EvtId d2)
void setPWForBirthL(int spin, EvtId par, EvtId othD)
void addFactorPn(double factor)
void includeDecayFactor(bool yesno)
void includeBirthFactor(bool yesno)
EvtPartProp & operator=(const EvtPartProp &x)
void reSetMass(double mass)
void reSetWidth(double width)
void newLineShape(std::string type)
void reSetMassMax(double mass)