Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:09

0001 #ifndef Validation_EventGenerator_CaloCellId
0002 #define Validation_EventGenerator_CaloCellId
0003 
0004 /* class CaloCellId
0005  *
0006  * Simple eta-phi cell identifier, mimic calorimetric tower structure
0007  * phi is stored in radians 
0008  *
0009  *
0010  */
0011 
0012 #include <iostream>
0013 
0014 class CaloCellId {
0015 public:
0016   enum System { Barrel = 1, Endcap = 2, Forward = 3 };
0017 
0018   CaloCellId(double theEtaMin, double theEtaMax, double thePhiMin, double thePhiMax, System theSubSys);
0019   CaloCellId(const CaloCellId&);
0020   virtual ~CaloCellId();
0021 
0022   double getEtaMin() const { return etaMin; }
0023   double getEtaMax() const { return etaMax; }
0024   double getPhiMin() const { return phiMin; }
0025   double getPhiMax() const { return phiMax; }
0026   System getSubSys() const { return subSys; }
0027 
0028   bool operator==(const CaloCellId&) const;
0029 
0030   bool isInCell(double thisEta, double thisPhi);
0031 
0032   double getThetaCell();
0033 
0034 private:
0035   double etaMin;
0036   double etaMax;
0037   double phiMin;
0038   double phiMax;
0039   System subSys;
0040 };
0041 
0042 std::ostream& operator<<(std::ostream&, const CaloCellId&);
0043 #endif