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
0043 inline bool operator<(const FastTrackerCluster& one, const FastTrackerCluster& other) {
0044 return (one.simhitId() < other.simhitId());
0045 }
0046
0047 #endif