CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/DataFormats/EgammaReco/interface/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.19 2009/03/25 16:09:47 ferriff Exp $
00009 //
00010 #include "DataFormats/Math/interface/Point3D.h"
00011 #include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h"
00012 
00013 #include <cmath>
00014 
00015 namespace reco {
00016 
00017   class PreshowerCluster : public CaloCluster {
00018   public:
00019 
00020     typedef math::XYZPoint Point;
00021 
00023     PreshowerCluster() : CaloCluster(0., Point(0.,0.,0.)) { };
00024 
00025     virtual ~PreshowerCluster();
00026 
00028     PreshowerCluster(const double E, const Point& pos, 
00029                      const std::vector< std::pair<DetId, float> > usedHits, 
00030                      const int plane);
00031 
00033     PreshowerCluster(const PreshowerCluster&);
00034 
00036     int nhits() const {return hitsAndFractions_.size();}
00037 
00039     int plane() const { return plane_; }
00040 
00041     double et() const { return energy()/cosh(eta()); }
00042 
00044     bool operator==(const PreshowerCluster&) const;
00045     bool operator<(const PreshowerCluster&) const;
00046 
00048     CaloClusterPtr basicCluster() const {return bc_ref_;}
00049 
00051     //std::vector<DetId> getHitsByDetId() const { return usedHits_; }
00052 
00053     void setBCRef( const CaloClusterPtr & r ) { bc_ref_ = r; }
00054 
00055   private:
00056 
00057     int plane_;
00058 
00060     CaloClusterPtr bc_ref_;
00061 
00063     //std::vector<DetId> usedHits_;
00064   };
00065 }
00066 #endif