CMS 3D CMS Logo

CaloCluster.h

Go to the documentation of this file.
00001 #ifndef DataFormats_CaloRecHit_CaloCluster_h
00002 #define DataFormats_CaloRecHit_CaloCluster_h
00003 
00013 #include "DataFormats/Math/interface/Point3D.h"
00014 #include "DataFormats/CaloRecHit/interface/CaloID.h"
00015 
00016 namespace reco {
00017 
00018   class CaloCluster {
00019     
00020   public:
00021 
00023     CaloCluster() : energy_(0.) { }
00024 
00026     CaloCluster( double energy, 
00027                  const math::XYZPoint& position ) :
00028       energy_ (energy), position_ (position) {}
00029 
00031     CaloCluster( double energy, 
00032                  const math::XYZPoint& position, 
00033                  const CaloID& caloID) :
00034       energy_ (energy), position_ (position), caloID_(caloID) {}
00035 
00037     virtual ~CaloCluster() {}
00038 
00040     double energy() const { return energy_; }
00041 
00043     const math::XYZPoint & position() const { return position_; }
00044 
00046     bool operator >=(const CaloCluster& rhs) const { 
00047       return (energy_>=rhs.energy_); 
00048     }
00049 
00051     bool operator > (const CaloCluster& rhs) const { 
00052       return (energy_> rhs.energy_); 
00053     }
00054 
00056     bool operator <=(const CaloCluster& rhs) const { 
00057       return (energy_<=rhs.energy_); 
00058     }
00059 
00061     bool operator < (const CaloCluster& rhs) const { 
00062       return (energy_< rhs.energy_); 
00063     }
00064 
00066     double x() const { return position_.x(); }
00067 
00069     double y() const { return position_.y(); }
00070 
00072     double z() const { return position_.z(); }
00073 
00075     double eta() const { return position_.eta(); }
00076 
00078     double phi() const { return position_.phi(); }
00079 
00080     
00081     CaloID& caloID() {return caloID_;}
00082     const CaloID& caloID() const {return caloID_;}
00083     
00084     CaloCluster& operator=(const CaloCluster & rhs) {
00085       energy_ = rhs.energy_;
00086       position_ = rhs.position_;
00087       caloID_ = rhs.caloID_;
00088       return *this;
00089     }
00090 
00091     
00092     
00093   protected:
00094 
00096     double              energy_;
00097 
00099     math::XYZPoint      position_;
00100 
00102     CaloID              caloID_;
00103 
00104   };
00105 
00106 }
00107 
00108 #endif

Generated on Tue Jun 9 17:27:14 2009 for CMSSW by  doxygen 1.5.4