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