CMS 3D CMS Logo

HCALBarrelProperties Class Reference

#include <FastSimulation/CalorimeterProperties/interface/HCALBarrelProperties.h>

Inheritance diagram for HCALBarrelProperties:

HCALProperties CalorimeterProperties

List of all members.

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 ()


Detailed Description

Definition at line 21 of file HCALBarrelProperties.h.


Constructor & Destructor Documentation

HCALBarrelProperties::HCALBarrelProperties ( const edm::ParameterSet fastDet  )  [inline]

Definition at line 26 of file HCALBarrelProperties.h.

00026 :HCALProperties(fastDet) {; } 

virtual HCALBarrelProperties::~HCALBarrelProperties (  )  [inline, virtual]

Definition at line 28 of file HCALBarrelProperties.h.

00028 { }


Member Function Documentation

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   }


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:23:28 2009 for CMSSW by  doxygen 1.5.4