CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/RecoTauTag/TauTagTools/interface/ECALBounds.h

Go to the documentation of this file.
00001 #ifndef RecoTauTag_TauTagTools_ECALBounds_H
00002 #define RecoTauTag_TauTagTools_ECALBounds_H
00003 
00004 #include "DataFormats/GeometrySurface/interface/ReferenceCounted.h"
00005 #include "DataFormats/GeometrySurface/interface/Surface.h"
00006 #include "DataFormats/GeometrySurface/interface/BoundCylinder.h"
00007 #include "DataFormats/GeometrySurface/interface/BoundDisk.h"
00008 #include "DataFormats/GeometrySurface/interface/SimpleCylinderBounds.h"
00009 #include "DataFormats/GeometrySurface/interface/SimpleDiskBounds.h"
00010 
00011 class BoundCylinder;
00012 class BoundDisk;
00013 class Cylinder;
00014 class Disk;
00015 
00016 class ECALBounds {
00017 public:
00018   static const Surface& barrelBound()    {check(); return *theCylinder;}
00019   static const Surface& negativeEndcapDisk() {check(); return *theNegativeDisk;}
00020   static const Surface& positiveEndcapDisk() {check(); return *thePositiveDisk;}
00023   static float barrel_innerradius()     {return 129.0f;}
00024   static float barrel_outerradius()     {return 175.f;}
00025   static float barrel_halfLength() {return 270.89f;}
00026   static float endcap_innerradius()     {return 31.6f;}
00027   static float endcap_outerradius()     {return 171.1f;}
00028   static float endcap_innerZ() {return 314.40f;}
00029   static float endcap_outerZ() {return 388.f;}
00032   static std::pair<float,float> crack_absEtaIntervalA() {return std::pair<float,float>(0.000f,0.018f);}
00033   static std::pair<float,float> crack_absEtaIntervalB() {return std::pair<float,float>(0.423f,0.461f);}
00034   static std::pair<float,float> crack_absEtaIntervalC() {return std::pair<float,float>(0.770f,0.806f);}
00035   static std::pair<float,float> crack_absEtaIntervalD() {return std::pair<float,float>(1.127f,1.163f);}
00036   static std::pair<float,float> crack_absEtaIntervalE() {return std::pair<float,float>(1.460f,1.558f);}
00037  private:
00038   static ReferenceCountingPointer<Surface> theCylinder;
00039   static ReferenceCountingPointer<Surface> theNegativeDisk;
00040   static ReferenceCountingPointer<Surface> thePositiveDisk;
00041   static bool theInit;
00042   static void check() {if (!theInit) initialize();}
00043   static void initialize();
00044 };
00045 
00046 #endif