Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:11

0001 #ifndef FastTrackerCluster_H
0002 #define FastTrackerCluster_H
0003 
0004 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0005 #include "DataFormats/GeometrySurface/interface/LocalError.h"
0006 #include "DataFormats/DetId/interface/DetId.h"
0007 
0008 class FastTrackerCluster {
0009 public:
0010   FastTrackerCluster() : pos_(), err_(), id_(), simhitId_(), simtrackId_(), eeId_(), charge_() {}
0011 
0012   virtual ~FastTrackerCluster() {}
0013 
0014   FastTrackerCluster(const LocalPoint&,
0015                      const LocalError&,
0016                      const DetId&,
0017                      const int simhitId,
0018                      const int simtrackId,
0019                      const uint32_t eeId,
0020                      const float charge);
0021 
0022   const LocalPoint& localPosition() const { return pos_; }
0023   const LocalError& localPositionError() const { return err_; }
0024   const DetId& id() const { return id_; }
0025   const int& simhitId() const { return simhitId_; }
0026   const int& simtrackId() const { return simtrackId_; }
0027   const uint32_t& eeId() const { return eeId_; }
0028   const float& charge() const { return charge_; }
0029 
0030   virtual FastTrackerCluster* clone() const { return new FastTrackerCluster(*this); }
0031 
0032 private:
0033   LocalPoint pos_;
0034   LocalError err_;
0035   DetId id_;
0036   int const simhitId_;
0037   int const simtrackId_;
0038   uint32_t const eeId_;
0039   float const charge_;
0040 };
0041 
0042 // Comparison operators
0043 inline bool operator<(const FastTrackerCluster& one, const FastTrackerCluster& other) {
0044   return (one.simhitId() < other.simhitId());
0045 }
0046 
0047 #endif