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