#include <FastSimulation/CalorimeterProperties/interface/HCALBarrelProperties.h>
Public Member Functions | |
HCALBarrelProperties (const edm::ParameterSet &fastDet) | |
double | thickness (double eta) const |
Thickness (in cm), according to a document of 1995. TO be checked. | |
virtual | ~HCALBarrelProperties () |
Definition at line 21 of file HCALBarrelProperties.h.
HCALBarrelProperties::HCALBarrelProperties | ( | const edm::ParameterSet & | fastDet | ) | [inline] |
virtual HCALBarrelProperties::~HCALBarrelProperties | ( | ) | [inline, virtual] |
double HCALBarrelProperties::thickness | ( | double | eta | ) | const [inline, virtual] |
Thickness (in cm), according to a document of 1995. TO be checked.
Implements CalorimeterProperties.
Definition at line 31 of file HCALBarrelProperties.h.
References e, e1, e2, funct::exp(), HCALProperties::interactionLength(), s, and t.
00031 { 00032 double e = std::exp(-eta); 00033 double e2 = e*e; 00034 // double c = (1.-e2)/(1.+e2); 00035 double s = 2.*e/(1.+e2); 00036 double t = fabs(2.*e/(1.-e2)); 00037 double feta = fabs(eta); 00038 00039 if ( feta < 0.380 ) 00040 { 00041 // This where the HO is supposed to be (1995 version) 00042 return 7.76 * interactionLength() / s ; 00043 } 00044 else if ( feta < 1.310 ) 00045 { 00046 return 6.76 * interactionLength() / s ; 00047 } 00048 else if ( feta < 1.370 ) 00049 { 00050 double e1 = std::exp(-1.310); 00051 double t1 = 2.*e1 /(1.-e1*e1); 00052 // 193.0 cm is the inner radius of HCAL 00053 return ( (6.76 * interactionLength() + 193.0) * t/t1 - 193.0) / s; 00054 } 00055 // else if ( feta < 1.440 ) 00056 else if (feta < 1.450) // F.B 12/01/05 : avoid edge effet 00057 // in ParticlePropagator, the limit is 1.44826 00058 { 00059 double e1 = std::exp(-1.310); 00060 double t1 = 2.*e1 /(1.-e1*e1); 00061 // 193.0 cm is the inner radius of HCAL 00062 return ( (6.76 * interactionLength() + 193.0) * t/t1 - 193.0) / (2.*s); 00063 } 00064 else 00065 { 00066 return 0.; 00067 } 00068 00069 }