FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
PndFsmStt Class Reference

#include <PndFsmStt.h>

Inheritance diagram for PndFsmStt:
PndFsmAbsDet

Public Member Functions

 PndFsmStt ()
 
 PndFsmStt (ArgList &par)
 
virtual ~PndFsmStt ()
 
virtual PndFsmResponserespond (PndFsmTrack *t)
 
const std::string & detName ()
 
void setName (std::string &name)
 
Bool_t doesPid () const
 
void setStorePid (Bool_t doespid=kTRUE)
 

Protected Member Functions

virtual bool setParameter (std::string &name, std::string &value)
 
void parseParameterList (ArgList &par)
 

Protected Attributes

std::string _detName
 
double _efficiency
 
TRandom3 * _rand
 
TDatabasePDG * _fdbPDG
 
Bool_t _doesPid
 

Private Member Functions

bool detected (PndFsmTrack *t) const
 
double dp (PndFsmTrack *t) const
 
double dphi (PndFsmTrack *t) const
 
double dtheta (PndFsmTrack *t) const
 
double compdEdx (double p, double M)
 
double gauss (double x, double x0, double s)
 
void initParameters ()
 
void print (std::ostream &o)
 
bool setParameter (std::string &name, double value)
 

Private Attributes

double _n
 
double _sigXY
 
double _Bfield
 
double _Lpath
 
double _X0
 
double _sigTht
 
double _thtMin
 
double _thtMax
 
double _pmin
 
double _rmin
 
double _radiationLength
 
double _dEdxRes
 

Detailed Description

Definition at line 41 of file PndFsmStt.h.

Constructor & Destructor Documentation

PndFsmStt::PndFsmStt ( )

Default ctor.

Definition at line 57 of file PndFsmStt.cxx.

References _n, _thtMax, _thtMin, _X0, and initParameters().

58 {
60 
61  _X0=100.0*11.0/_n;
62  _thtMin=_thtMin*M_PI/180.0;
63  _thtMax=_thtMax*M_PI/180.0;
64  //print(std::cout);
65 }
double _X0
Definition: PndFsmStt.h:87
void initParameters()
Definition: PndFsmStt.cxx:286
double _thtMax
Definition: PndFsmStt.h:90
double _thtMin
Definition: PndFsmStt.h:89
double _n
Definition: PndFsmStt.h:83
PndFsmStt::PndFsmStt ( ArgList par)

Definition at line 67 of file PndFsmStt.cxx.

References _n, _thtMax, _thtMin, _X0, initParameters(), and PndFsmAbsDet::parseParameterList().

68 {
70  //set default parameter values and parses a parameter list
71  //i.e. std::list<std::string> of the form
72  //"a=1" "b=2" "c=3"
74 
75  _X0=100.0*11.0/_n;
76  _thtMin=_thtMin*M_PI/180.0;
77  _thtMax=_thtMax*M_PI/180.0;
78  //print(std::cout);
79 }
Double_t par[3]
double _X0
Definition: PndFsmStt.h:87
void parseParameterList(ArgList &par)
void initParameters()
Definition: PndFsmStt.cxx:286
double _thtMax
Definition: PndFsmStt.h:90
double _thtMin
Definition: PndFsmStt.h:89
double _n
Definition: PndFsmStt.h:83
PndFsmStt::~PndFsmStt ( )
virtual

Destructor

Definition at line 85 of file PndFsmStt.cxx.

86 {
87 }

Member Function Documentation

double PndFsmStt::compdEdx ( double  p,
double  M 
)
private

Definition at line 155 of file PndFsmStt.cxx.

References a, C(), dEdX, log(), me, sqrt(), X, Z, and z.

Referenced by respond().

156 {
157  double dEdX;
158 
159  p*=1000;
160  M*=1000;
161 
162  const double Z=10;
163  const double A=20;
164  const double z=1;//charge of incident particle in unit of e
165 
166  double beta;
167  beta=p/sqrt(M*M+p*p);//CalculateBeta(KE,M);
168 
169  double gamma;
170  gamma=1./sqrt(1-beta*beta);
171 
172  const double I=10e-6*Z;//0.000188;//MeV
173  const double me=0.511;//Mev/c2
174 
175  double Wmax;
176  Wmax=(2*me*beta*beta*gamma*gamma) / (1 + 2*gamma*me/M + (me/M)*(me/M));
177 
178  //const double C1=0.1535;//MeV cm2/g
179 
180  double X,X0,X1;
181  double kappa=0.307075;
182  X0=0.201;
183  X1=3;
184  X=log10(beta*gamma);
185  double delta;
186  double C,a;
187  C=-5.217;
188  a=0.196;
189 
190  if(X<=X0)
191  delta=0;
192  else if(X<=X1)
193  delta=2*log(10.)*X+C+a*(X1-X)*(X1-X)*(X1-X);
194  else
195  delta=2*log(10.)*X+C;
196 
197  dEdX= ( kappa * (Z/A) * z*z /(beta*beta)) * (log(2*me*beta*beta*gamma*gamma*Wmax / (I*I)) - 2*beta*beta - delta); //-Dshell??
198 
199  return dEdX;
200 }
static const double me
Definition: mzparameters.h:12
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
friend F32vec4 log(const F32vec4 &a)
Definition: P4_F32vec4.h:110
Double_t p
Definition: anasim.C:58
Double_t dEdX
Definition: anasim.C:58
int Pic_FED Eff_lEE C()
Int_t a
Definition: anaLmdDigi.C:126
Double_t z
double X
Definition: anaLmdDigi.C:68
double Z
Definition: anaLmdDigi.C:68
bool PndFsmStt::detected ( PndFsmTrack t) const
private

Definition at line 203 of file PndFsmStt.cxx.

References _Bfield, PndFsmAbsDet::_efficiency, PndFsmAbsDet::_rand, _rmin, _thtMax, atan2(), PndFsmTrack::charge(), fabs(), PndFsmTrack::hitMapResponse(), PndFsmTrack::hitMapValid(), PndFsmTrack::p4(), FsmDetEnum::Stt, theta, and z.

Referenced by respond().

204 {
205  if (t->hitMapValid()) {
206  return t->hitMapResponse(FsmDetEnum::Stt);
207  } else {
208 
209 
210  double theta = t->p4().Theta();
211  //double p = t->p4().Vect().Mag(); //[R.K. 01/2017] unused variable
212  double p_t = t->p4().Vect().Pt();
213  double charge=t->charge();
214 
215  //only charged particles give signal
216  if (fabs(charge)<0.001) return false;
217 
218  // due to track curvature particle doesn't reach barrel
219  double rho = 3.3356 * p_t / _Bfield;
220  if (_rmin>(2*rho)) return false;
221 
222  //due to helix trajectory particle doesn't hit detector (even with dip angle in tht range)
223  double z=2*rho*asin(_rmin/(2*rho))/tan(theta);
224  double polar=atan2(_rmin,z);
225  if (polar<_thtMin || polar>_thtMax) return false;
226 
227  //finally check for efficiency;
228  return ( _rand->Rndm()<=_efficiency);
229 
230  /* double theta = t->p4().Theta();
231  // double p=t->p4().vect().mag();
232  double p_t=t->p4().Vect().Pt();
233  double charge=t->charge();
234  return ( charge!=0.0 && theta>=_thtMin && theta<=_thtMax && p_t>_pmin && _rand->Rndm()<=_efficiency);*/
235  }
236 }
double _efficiency
Definition: PndFsmAbsDet.h:93
bool hitMapResponse(unsigned int)
Definition: PndFsmTrack.h:86
double _rmin
Definition: PndFsmStt.h:92
double charge()
Definition: PndFsmTrack.h:75
TRandom3 * _rand
Definition: PndFsmAbsDet.h:94
TLorentzVector p4()
Definition: PndFsmTrack.h:72
Double_t z
double _Bfield
Definition: PndFsmStt.h:85
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
bool hitMapValid()
Definition: PndFsmTrack.h:85
friend F32vec4 atan2(const F32vec4 &y, const F32vec4 &x)
Definition: P4_F32vec4.h:117
double _thtMax
Definition: PndFsmStt.h:90
const std::string& PndFsmAbsDet::detName ( )
inlineinherited
Bool_t PndFsmAbsDet::doesPid ( ) const
inlineinherited

Definition at line 76 of file PndFsmAbsDet.h.

References PndFsmAbsDet::_doesPid.

Referenced by PndFastSim::Register(), and PndFastSim::smearTrack().

76 {return _doesPid;};
Bool_t _doesPid
Definition: PndFsmAbsDet.h:96
double PndFsmStt::dp ( PndFsmTrack t) const
private

Definition at line 240 of file PndFsmStt.cxx.

References _Bfield, _Lpath, _n, _sigTht, _sigXY, _X0, mom, PndFsmTrack::p4(), sin(), sqrt(), and theta.

Referenced by respond().

241 {
242  TLorentzVector p4=t->p4();
243  double theta=p4.Theta();
244  double mom=p4.Vect().Mag();
245  double beta=p4.Beta();
246 
247  double cont1 = 0.3*sqrt(720.0/(_n+4))*_sigXY*mom*sin(theta)/(_Bfield*_Lpath*_Lpath);
248  double cont2 = 5.23e-2/(_Bfield*beta*sqrt(_Lpath*_X0*sin(theta)));
249  double cont3 = _sigTht/tan(theta);
250 
251  return ( sqrt(cont1*cont1 + cont2*cont2 * cont3*cont3) * mom );
252 }
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
friend F32vec4 sin(const F32vec4 &a)
Definition: P4_F32vec4.h:111
double _X0
Definition: PndFsmStt.h:87
double _Lpath
Definition: PndFsmStt.h:86
Double_t mom
Definition: plot_dirc.C:14
TLorentzVector p4()
Definition: PndFsmTrack.h:72
double _sigXY
Definition: PndFsmStt.h:84
double _Bfield
Definition: PndFsmStt.h:85
double _n
Definition: PndFsmStt.h:83
double _sigTht
Definition: PndFsmStt.h:88
double PndFsmStt::dphi ( PndFsmTrack t) const
private

Definition at line 255 of file PndFsmStt.cxx.

Referenced by respond().

256 {
257  return 0.0007; //to be refined
258 }
double PndFsmStt::dtheta ( PndFsmTrack t) const
private

Definition at line 261 of file PndFsmStt.cxx.

Referenced by respond().

262 {
263  return 0.0007; //to be refined
264 }
double PndFsmStt::gauss ( double  x,
double  x0,
double  s 
)
private

Definition at line 148 of file PndFsmStt.cxx.

References exp(), and sqrt().

Referenced by respond().

149 {
150  return (1.0/(sqrt(2.0*M_PI)*s))*
151  exp(-(x-x0)*(x-x0)/(2.0*s*s));
152 }
Double_t x0
Definition: checkhelixhit.C:70
friend F32vec4 exp(const F32vec4 &a)
Definition: P4_F32vec4.h:109
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
TLorentzVector s
Definition: Pnd2DStar.C:50
Double_t x
void PndFsmStt::initParameters ( )
privatevirtual

Reimplemented from PndFsmAbsDet.

Definition at line 286 of file PndFsmStt.cxx.

References _Bfield, _dEdxRes, PndFsmAbsDet::_detName, PndFsmAbsDet::_efficiency, _Lpath, _n, _pmin, _radiationLength, _rmin, _sigTht, _sigXY, _thtMax, _thtMin, _X0, FsmDetName::name(), and FsmDetEnum::Stt.

Referenced by PndFsmStt().

287 {
289  _n = 11.0;
290  _sigXY = 150.0e-6;
291  _Bfield = 2.0;
292  _Lpath = 0.27;
293  _X0 = 0.0;
294  _sigTht = 6.0e-4;
295  _thtMin = 7.765;
296  _thtMax = 159.44;
297  _radiationLength = 0.0;
298  _pmin = 0.0;
299  _rmin = 0.15;
300  _dEdxRes = 0.2; // 20% dEdx resolution
301  _efficiency =1.0;
302 
303 }
double _efficiency
Definition: PndFsmAbsDet.h:93
double _radiationLength
Definition: PndFsmStt.h:93
double _rmin
Definition: PndFsmStt.h:92
double _X0
Definition: PndFsmStt.h:87
double _Lpath
Definition: PndFsmStt.h:86
static const std::string & name(unsigned int t)
Definition: FsmDetTypes.h:26
double _sigXY
Definition: PndFsmStt.h:84
double _Bfield
Definition: PndFsmStt.h:85
double _thtMax
Definition: PndFsmStt.h:90
double _thtMin
Definition: PndFsmStt.h:89
double _n
Definition: PndFsmStt.h:83
std::string _detName
Definition: PndFsmAbsDet.h:92
double _dEdxRes
Definition: PndFsmStt.h:94
double _pmin
Definition: PndFsmStt.h:91
double _sigTht
Definition: PndFsmStt.h:88
void PndFsmAbsDet::parseParameterList ( ArgList par)
protectedinherited

Definition at line 119 of file PndFsmAbsDet.cxx.

References CStrTok::GetFirst(), CStrTok::GetNext(), name, and PndFsmAbsDet::setParameter().

Referenced by PndFsmAbsDet::PndFsmAbsDet(), PndFsmCmpDet::PndFsmCmpDet(), PndFsmCombiDet::PndFsmCombiDet(), PndFsmDetTemplate::PndFsmDetTemplate(), PndFsmDrcBarrel::PndFsmDrcBarrel(), PndFsmDrcDisc::PndFsmDrcDisc(), PndFsmEffTracker::PndFsmEffTracker(), PndFsmEmcBarrel::PndFsmEmcBarrel(), PndFsmEmcBwCap::PndFsmEmcBwCap(), PndFsmEmcFS::PndFsmEmcFS(), PndFsmEmcFwCap::PndFsmEmcFwCap(), PndFsmEmcPid::PndFsmEmcPid(), PndFsmIdealPid::PndFsmIdealPid(), PndFsmMdcFS::PndFsmMdcFS(), PndFsmMdcTS::PndFsmMdcTS(), PndFsmMdtPid::PndFsmMdtPid(), PndFsmMvd::PndFsmMvd(), PndFsmMvd2::PndFsmMvd2(), PndFsmMvdPid::PndFsmMvdPid(), PndFsmRich::PndFsmRich(), PndFsmSimpleTracker::PndFsmSimpleTracker(), PndFsmSimpleVtx::PndFsmSimpleVtx(), PndFsmStt(), PndFsmSttPid::PndFsmSttPid(), and PndFsmTof::PndFsmTof().

120 {
121  // ArgList is a std::list<std::string> of the form ("a=1","b=2","c=3","d=4")
122 
123  // Default values for the parameters
124 
125  CStrTok tokenizer;
126  char csrc[200];
127 
128  if (par.size() != 0) {
129 
130  //cout <<"Parameters for detector <"<<_detName<<">"<<endl;
131  for(ArgList::const_iterator argIt=par.begin(); argIt!=par.end();argIt++) {
132 
133  const char *src=argIt->data();
134  strcpy(csrc,src);
135 
136  char* token = tokenizer.GetFirst(csrc,"=");
137  string name(token);
138  //cout <<"variable: -" << name << "- ";
139  token = tokenizer.GetNext("=");
140 
141  double value = atof(token);
142  string strvalue(token);
143 
144  //cout <<"value: -"<<value<<"- "<<endl;
145 
146  if (value!=0 || strvalue=="0" || strvalue=="0.0" || strvalue=="0.")
147  {
148  if (!setParameter(name,value))
149  cout <<" -W- (PndFsmAbsDet::parseParameterList) Unknown Parameter: <"<<name<< endl;
150  }
151  else
152  {
153  if (!setParameter(name,strvalue))
154  cout <<" -W- (PndFsmAbsDet::parseParameterList) Unknown Parameter: <"<<name<< endl;
155  }
156 
157  }
158  }
159 
160  /*
161  if (par.size() != 0) {
162 
163  //cout <<"Parameters for detector <"<<_detName<<">"<<endl;
164  for(ArgList::const_iterator argIt=par.begin(); argIt!=par.end();argIt++) {
165  typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
166  boost::char_separator<char> sep("=");
167  tokenizer tokens(*argIt, sep);
168  tokenizer::iterator tok_iter = tokens.begin();
169  string name(*tok_iter);
170  ++tok_iter;
171  double value=atof((*tok_iter).c_str());
172 
173  //cout <<"<"<<name<<"> = "<<value<<endl;
174 
175  string name("efficiency");
176  double value=0.99;
177  if (!setParameter(name,value))
178  cout <<" -W- Unknown Parameter: <"<<name<<"> in PndFsmAbsDet::parseParameterList" << endl;
179  }
180  }
181  */
182  //print(std::cout);
183 
184 }
Double_t par[3]
char * GetFirst(char *lpsz, const char *lpcszDelimiters)
Definition: StrTok.cxx:29
TString name
Definition: StrTok.h:11
virtual bool setParameter(std::string &name, double value)
char * GetNext(const char *lpcszDelimiters)
Definition: StrTok.cxx:37
void PndFsmStt::print ( std::ostream o)
privatevirtual

Reimplemented from PndFsmAbsDet.

Definition at line 267 of file PndFsmStt.cxx.

References _Bfield, _dEdxRes, PndFsmAbsDet::_efficiency, _Lpath, _n, _pmin, _radiationLength, _rmin, _sigTht, _sigXY, _thtMax, _thtMin, _X0, and PndFsmAbsDet::detName().

268 {
269  o <<"Parameters for detector <"<<detName()<<">"<<endl;
270  o <<" _n = "<<_n<<endl;
271  o <<" _sigXY = "<<_sigXY<<endl;
272  o <<" _Bfield = "<<_Bfield<<endl;
273  o <<" _Lpath = "<<_Lpath<<endl;
274  o <<" _X0 = "<<_X0<<endl;
275  o <<" _sigTht = "<<_sigTht<<endl;
276  o <<" _thtMin = "<<_thtMin<<endl;
277  o <<" _thtMax = "<<_thtMax<<endl;
278  o <<" _radiationLength = "<<_radiationLength<<endl;
279  o <<" _pmin = "<<_pmin<<endl;
280  o <<" _rmin = "<<_rmin<<endl;
281  o <<" _dEdxRes = "<<_dEdxRes << " (rel)"<< endl;
282  o <<" _efficiency = "<<_efficiency<<endl;
283 }
double _efficiency
Definition: PndFsmAbsDet.h:93
double _radiationLength
Definition: PndFsmStt.h:93
double _rmin
Definition: PndFsmStt.h:92
double _X0
Definition: PndFsmStt.h:87
double _Lpath
Definition: PndFsmStt.h:86
double _sigXY
Definition: PndFsmStt.h:84
const std::string & detName()
Definition: PndFsmAbsDet.h:74
double _Bfield
Definition: PndFsmStt.h:85
double _thtMax
Definition: PndFsmStt.h:90
double _thtMin
Definition: PndFsmStt.h:89
double _n
Definition: PndFsmStt.h:83
double _dEdxRes
Definition: PndFsmStt.h:94
double _pmin
Definition: PndFsmStt.h:91
double _sigTht
Definition: PndFsmStt.h:88
PndFsmResponse * PndFsmStt::respond ( PndFsmTrack t)
virtual

Accessors to contained information

Implements PndFsmAbsDet.

Definition at line 94 of file PndFsmStt.cxx.

References _dEdxRes, PndFsmAbsDet::_fdbPDG, PndFsmAbsDet::_rand, PndFsmTrack::charge(), compdEdx(), detected(), dp(), dphi(), dtheta(), fabs(), gauss(), p, PndFsmTrack::p4(), PndFsmTrack::pdt(), PndFsmResponse::setDetected(), PndFsmResponse::setDetector(), PndFsmResponse::setdp(), PndFsmResponse::setdphi(), PndFsmResponse::setdtheta(), PndFsmResponse::setLHElectron(), PndFsmResponse::setLHKaon(), PndFsmResponse::setLHMuon(), PndFsmResponse::setLHPion(), PndFsmResponse::setLHProton(), and PndFsmResponse::setSttdEdx().

95 {
96  PndFsmResponse *result=new PndFsmResponse();
97 
98  result->setDetector(this);
99  bool wasDetected=detected(t);
100  result->setDetected(wasDetected);
101 
102  if (wasDetected && fabs(t->charge())>1e-8)
103  {
104  result->setdp(dp(t));
105  result->setdphi(dphi(t));
106  result->setdtheta(dtheta(t));
107 
108  // now the dEdx information
109  TParticlePDG* part = _fdbPDG->GetParticle(t->pdt());
110  double mass = (part) ? part->Mass() : t->p4().M();
111  double p=t->p4().Vect().Mag();
112 
113  // overall resolution for the dEdx measurement
114  double dEdx = compdEdx(p,mass);
115  double sig = _dEdxRes*dEdx;
116 
117  double m_e = _fdbPDG->GetParticle(11)->Mass();
118  double m_mu = _fdbPDG->GetParticle(13)->Mass();
119  double m_pi = _fdbPDG->GetParticle(211)->Mass();
120  double m_K = _fdbPDG->GetParticle(321)->Mass();
121  double m_p = _fdbPDG->GetParticle(2212)->Mass();
122 
123  // compute the expected dEdx values for all particle types
124  // we need these to determine the pdf's (gaussian around nominal dEdx with res sig)
125 
126  double dEdx_e = compdEdx(p,m_e);
127  double dEdx_mu = compdEdx(p,m_mu);
128  double dEdx_pi = compdEdx(p,m_pi);
129  double dEdx_K = compdEdx(p,m_K);
130  double dEdx_p = compdEdx(p,m_p);
131 
132  double measdEdx = _rand->Gaus(dEdx,sig);
133 
134  result ->setSttdEdx(measdEdx,sig);
135 
136  if (dEdx_e) result->setLHElectron( gauss(measdEdx,dEdx_e,sig) );
137  if (dEdx_mu) result->setLHMuon( gauss(measdEdx,dEdx_mu,sig) );
138  if (dEdx_pi) result->setLHPion( gauss(measdEdx,dEdx_pi,sig) );
139  if (dEdx_K) result->setLHKaon( gauss(measdEdx,dEdx_K,sig) );
140  if (dEdx_p) result->setLHProton(gauss(measdEdx,dEdx_p,sig) );
141  }
142 
143 
144  return result;
145 }
double dphi(PndFsmTrack *t) const
Definition: PndFsmStt.cxx:255
void setdphi(double val)
double gauss(double x, double x0, double s)
Definition: PndFsmStt.cxx:148
void setLHElectron(double val)
TDatabasePDG * _fdbPDG
Definition: PndFsmAbsDet.h:95
void setLHProton(double val)
void setLHMuon(double val)
double dp(PndFsmTrack *t) const
Definition: PndFsmStt.cxx:240
double charge()
Definition: PndFsmTrack.h:75
double dtheta(PndFsmTrack *t) const
Definition: PndFsmStt.cxx:261
TRandom3 * _rand
Definition: PndFsmAbsDet.h:94
Double_t p
Definition: anasim.C:58
TLorentzVector p4()
Definition: PndFsmTrack.h:72
void setDetector(PndFsmAbsDet *detector)
double compdEdx(double p, double M)
Definition: PndFsmStt.cxx:155
void setdp(double val)
bool detected(PndFsmTrack *t) const
Definition: PndFsmStt.cxx:203
void setLHKaon(double val)
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
void setDetected(bool isdet)
double _dEdxRes
Definition: PndFsmStt.h:94
void setdtheta(double val)
void setSttdEdx(double val, double err=0)
void setLHPion(double val)
void PndFsmAbsDet::setName ( std::string &  name)
inlineinherited

Definition at line 75 of file PndFsmAbsDet.h.

References PndFsmAbsDet::_detName, and name.

Referenced by PndFsmDetFactory::create().

75 {_detName = name;};
TString name
std::string _detName
Definition: PndFsmAbsDet.h:92
bool PndFsmStt::setParameter ( std::string &  name,
double  value 
)
privatevirtual

Reimplemented from PndFsmAbsDet.

Definition at line 306 of file PndFsmStt.cxx.

References _Bfield, _dEdxRes, PndFsmAbsDet::_efficiency, _Lpath, _n, _pmin, _radiationLength, _rmin, _sigTht, _sigXY, _thtMax, _thtMin, and _X0.

307 {
308  // *****************
309  // include here all parameters which should be settable via tcl
310  // *****************
311 
312  bool knownName=true;
313 
314  if (name == "n")
315  _n=value;
316  else
317  if (name == "sigXY")
318  _sigXY=value;
319  else
320  if (name == "Bfield")
321  _Bfield=value;
322  else
323  if (name == "Lpath")
324  _Lpath=value;
325  else
326  if (name == "X0")
327  _X0=value;
328  else
329  if (name == "sigTht")
330  _sigTht=value;
331  else
332  if (name == "thtMin")
333  _thtMin=value;
334  else
335  if (name == "thtMax")
336  _thtMax=value;
337  else
338  if (name == "radiationLength")
339  _radiationLength=value;
340  else
341  if (name == "pmin")
342  _pmin=value;
343  else
344  if (name == "rmin")
345  _rmin=value;
346  else
347  if (name == "dEdxRes")
348  _dEdxRes=value;
349  else
350  if (name == "efficiency")
351  _efficiency=value;
352  else
353  knownName=false;
354 
355  return knownName;
356 }
double _efficiency
Definition: PndFsmAbsDet.h:93
double _radiationLength
Definition: PndFsmStt.h:93
double _rmin
Definition: PndFsmStt.h:92
double _X0
Definition: PndFsmStt.h:87
double _Lpath
Definition: PndFsmStt.h:86
double _sigXY
Definition: PndFsmStt.h:84
double _Bfield
Definition: PndFsmStt.h:85
TString name
double _thtMax
Definition: PndFsmStt.h:90
double _thtMin
Definition: PndFsmStt.h:89
double _n
Definition: PndFsmStt.h:83
double _dEdxRes
Definition: PndFsmStt.h:94
double _pmin
Definition: PndFsmStt.h:91
double _sigTht
Definition: PndFsmStt.h:88
bool PndFsmAbsDet::setParameter ( std::string &  name,
std::string &  value 
)
protectedvirtualinherited

Reimplemented in PndFsmDrcBarrel, PndFsmDrcDisc, PndFsmCombiDet, and PndFsmCmpDet.

Definition at line 99 of file PndFsmAbsDet.cxx.

100 {
101  return false;
102 }
void PndFsmAbsDet::setStorePid ( Bool_t  doespid = kTRUE)
inlineinherited

Definition at line 77 of file PndFsmAbsDet.h.

References PndFsmAbsDet::_doesPid.

Referenced by PndFsmDetFactory::create().

77 {_doesPid=doespid;};
Bool_t _doesPid
Definition: PndFsmAbsDet.h:96

Member Data Documentation

double PndFsmStt::_Bfield
private

Definition at line 85 of file PndFsmStt.h.

Referenced by detected(), dp(), initParameters(), print(), and setParameter().

double PndFsmStt::_dEdxRes
private

Definition at line 94 of file PndFsmStt.h.

Referenced by initParameters(), print(), respond(), and setParameter().

std::string PndFsmAbsDet::_detName
protectedinherited
Bool_t PndFsmAbsDet::_doesPid
protectedinherited
double PndFsmAbsDet::_efficiency
protectedinherited

Definition at line 93 of file PndFsmAbsDet.h.

Referenced by PndFsmDetTemplate::detected(), PndFsmSimpleTracker::detected(), PndFsmEmcBwCap::detected(), PndFsmMdcFS::detected(), PndFsmSimpleVtx::detected(), detected(), PndFsmSttPid::detected(), PndFsmMdcTS::detected(), PndFsmTof::detected(), PndFsmEmcFS::detected(), PndFsmMvd::detected(), PndFsmMvd2::detected(), PndFsmEmcFwCap::detected(), PndFsmMvdPid::detected(), PndFsmRich::detected(), PndFsmEmcBarrel::detected(), PndFsmDrcDisc::detected(), PndFsmMdtPid::detected(), PndFsmDrcBarrel::detected(), PndFsmEmcPid::detected(), PndFsmEffTracker::detected(), PndFsmSimpleTracker::initParameters(), PndFsmSimpleVtx::initParameters(), PndFsmDetTemplate::initParameters(), PndFsmMvdPid::initParameters(), PndFsmTof::initParameters(), PndFsmMdtPid::initParameters(), PndFsmEmcPid::initParameters(), PndFsmMdcTS::initParameters(), PndFsmEmcBwCap::initParameters(), PndFsmEmcFS::initParameters(), PndFsmMvd2::initParameters(), PndFsmEmcFwCap::initParameters(), PndFsmRich::initParameters(), PndFsmMdcFS::initParameters(), PndFsmSttPid::initParameters(), PndFsmEmcBarrel::initParameters(), PndFsmDrcDisc::initParameters(), PndFsmDrcBarrel::initParameters(), initParameters(), PndFsmMvd::initParameters(), PndFsmEffTracker::initParameters(), PndFsmSimpleTracker::print(), PndFsmSimpleVtx::print(), PndFsmDetTemplate::print(), PndFsmMvdPid::print(), PndFsmTof::print(), PndFsmMdtPid::print(), PndFsmEmcPid::print(), PndFsmEmcFS::print(), PndFsmSttPid::print(), PndFsmMdcTS::print(), PndFsmEmcBwCap::print(), PndFsmMvd2::print(), PndFsmMdcFS::print(), PndFsmEmcFwCap::print(), PndFsmRich::print(), PndFsmEmcBarrel::print(), PndFsmDrcDisc::print(), PndFsmDrcBarrel::print(), print(), PndFsmMvd::print(), PndFsmEffTracker::print(), PndFsmSimpleTracker::setParameter(), PndFsmSimpleVtx::setParameter(), PndFsmDetTemplate::setParameter(), PndFsmMvdPid::setParameter(), PndFsmMdtPid::setParameter(), PndFsmTof::setParameter(), PndFsmEmcPid::setParameter(), PndFsmMdcFS::setParameter(), PndFsmEmcFwCap::setParameter(), PndFsmEmcBwCap::setParameter(), PndFsmRich::setParameter(), PndFsmEmcFS::setParameter(), PndFsmMvd2::setParameter(), PndFsmMdcTS::setParameter(), PndFsmSttPid::setParameter(), PndFsmEmcBarrel::setParameter(), PndFsmDrcBarrel::setParameter(), PndFsmDrcDisc::setParameter(), PndFsmMvd::setParameter(), setParameter(), and PndFsmEffTracker::setParameter().

TDatabasePDG* PndFsmAbsDet::_fdbPDG
protectedinherited
double PndFsmStt::_Lpath
private

Definition at line 86 of file PndFsmStt.h.

Referenced by dp(), initParameters(), print(), and setParameter().

double PndFsmStt::_n
private

Definition at line 83 of file PndFsmStt.h.

Referenced by dp(), initParameters(), PndFsmStt(), print(), and setParameter().

double PndFsmStt::_pmin
private

Definition at line 91 of file PndFsmStt.h.

Referenced by initParameters(), print(), and setParameter().

double PndFsmStt::_radiationLength
private

Definition at line 93 of file PndFsmStt.h.

Referenced by initParameters(), print(), and setParameter().

TRandom3* PndFsmAbsDet::_rand
protectedinherited
double PndFsmStt::_rmin
private

Definition at line 92 of file PndFsmStt.h.

Referenced by detected(), initParameters(), print(), and setParameter().

double PndFsmStt::_sigTht
private

Definition at line 88 of file PndFsmStt.h.

Referenced by dp(), initParameters(), print(), and setParameter().

double PndFsmStt::_sigXY
private

Definition at line 84 of file PndFsmStt.h.

Referenced by dp(), initParameters(), print(), and setParameter().

double PndFsmStt::_thtMax
private

Definition at line 90 of file PndFsmStt.h.

Referenced by detected(), initParameters(), PndFsmStt(), print(), and setParameter().

double PndFsmStt::_thtMin
private

Definition at line 89 of file PndFsmStt.h.

Referenced by initParameters(), PndFsmStt(), print(), and setParameter().

double PndFsmStt::_X0
private

Definition at line 87 of file PndFsmStt.h.

Referenced by dp(), initParameters(), PndFsmStt(), print(), and setParameter().


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