CMS 3D CMS Logo

PreshowerCluster.h

Go to the documentation of this file.
00001 #ifndef DataFormats_EgammaReco_PreshowerCluster_h
00002 #define DataFormats_EgammaReco_PreshowerCluster_h
00003 /*
00004  * Preshower cluster class
00005  *
00006  * \authors Dmirty Bandurin (KSU), Ted Kolberg (ND)
00007  */
00008 // $Id: PreshowerCluster.h,v 1.17 2008/04/28 19:46:15 meridian Exp $
00009 //
00010 #include "DataFormats/Math/interface/Point3D.h"
00011 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
00012 #include "DataFormats/EgammaReco/interface/BasicClusterFwd.h" 
00013 
00014 #include <cmath>
00015 
00016 namespace reco {
00017 
00018   class PreshowerCluster : public CaloCluster {
00019   public:
00020 
00021     typedef math::XYZPoint Point;
00022 
00024     PreshowerCluster() : CaloCluster(0., Point(0.,0.,0.)) { };
00025 
00026     virtual ~PreshowerCluster();
00027 
00029     PreshowerCluster(const double E, const Point& pos, 
00030                      const std::vector<DetId> usedHits, 
00031                      const int plane);
00032 
00034     PreshowerCluster(const PreshowerCluster&);
00035 
00037     int nhits() const {return usedHits_.size();}
00038 
00040     int plane() const { return plane_; }
00041 
00042     double et() const { return energy()/cosh(eta()); }
00043 
00045     bool operator==(const PreshowerCluster&) const;
00046     bool operator<(const PreshowerCluster&) const;
00047 
00049     BasicClusterRef basicCluster() const {return bc_ref_;}
00050 
00052     std::vector<DetId> getHitsByDetId() const { return usedHits_; }
00053 
00054     void setBCRef( const BasicClusterRef & r ) { bc_ref_ = r; }
00055 
00056   private:
00057 
00058     int plane_;
00059 
00061     BasicClusterRef bc_ref_;
00062 
00064     std::vector<DetId> usedHits_;
00065   };
00066 }
00067 #endif

Generated on Tue Jun 9 17:30:43 2009 for CMSSW by  doxygen 1.5.4