CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Validation/EventGenerator/interface/CaloCellId.h

Go to the documentation of this file.
00001 #ifndef Validation_EventGenerator_CaloCellId 
00002 #define Validation_EventGenerator_CaloCellId
00003 
00004 /* class CaloCellId
00005  *
00006  * Simple eta-phi cell identifier, mimic calorimetric tower structure
00007  * phi is stored in radians 
00008  *
00009  * $Date: 2010/05/25 16:50:50 $
00010  * $Revision: 1.1 $
00011  *
00012  */
00013 
00014 #include <iostream>
00015 
00016 class CaloCellId{
00017 
00018  public:
00019 
00020   enum System { Barrel=1,Endcap=2,Forward=3 };
00021   
00022   CaloCellId( double theEtaMin, double theEtaMax, double thePhiMin, double thePhiMax, System theSubSys );
00023   CaloCellId( const CaloCellId& );
00024   virtual ~CaloCellId();
00025   
00026   double getEtaMin() const { return etaMin; }
00027   double getEtaMax() const { return etaMax; }
00028   double getPhiMin() const { return phiMin; }
00029   double getPhiMax() const { return phiMax; }
00030   System getSubSys() const { return subSys; }
00031 
00032   bool operator==(const CaloCellId&) const;
00033 
00034   bool isInCell(double thisEta, double thisPhi);
00035 
00036   double getThetaCell();
00037 
00038  private:
00039 
00040   double etaMin;
00041   double etaMax;
00042   double phiMin;
00043   double phiMax;
00044   System subSys;
00045 
00046 };
00047 
00048 std::ostream& operator<<(std::ostream&, const CaloCellId&);
00049 #endif
00050