CMS 3D CMS Logo

CSCCrossGap.cc
Go to the documentation of this file.
3 #include <cmath>
4 
5 #include <iostream>
7  : theBeta2(0.), theGamma(1.), loggam(0.), theGap(gap), clusters(), electronsInClusters(), steps(), elosses() {
8  logGamma(mass, mom);
9  LogTrace("CSCCrossGap") << "CSCCrossGap: simhit \n"
10  << "mass = " << mass << "GeV/c2, momentum = " << mom << " GeV/c, gap length = " << length()
11  << " cm \n";
12 }
13 
14 double CSCCrossGap::logGamma(double mass, float mom) {
15  theGamma = sqrt((mom / mass) * (mom / mass) + 1.);
16  theBeta2 = 1. - 1. / (theGamma * theGamma);
17  double betgam = sqrt(theGamma * theGamma - 1.);
18  LogTrace("CSCCrossGap") << "gamma = " << theGamma << ", beta2 = " << theBeta2 << ", beta*gamma = " << betgam;
19 
20  // The lowest value in table (=theGammaBins[0]) is ln(1.1)=0.0953102
21  // (Compensate later if lower)
22  loggam = log(std::max(1.1, theGamma)); // F-P literal IS double by default!
23  LogTrace("CSCCrossGap") << "logGamma = " << loggam;
24 
25  return loggam;
26 }
T sqrt(T t)
Definition: SSEVec.h:19
#define LogTrace(id)
double loggam
Definition: CSCCrossGap.h:59
double theBeta2
Definition: CSCCrossGap.h:57
float length() const
Definition: CSCCrossGap.h:54
double theGamma
Definition: CSCCrossGap.h:58
double logGamma()
Definition: CSCCrossGap.h:49
CSCCrossGap(double mass, float mom, LocalVector gap)
Definition: CSCCrossGap.cc:6