00001 #ifndef FastTrackerCluster_H
00002 #define FastTrackerCluster_H
00003
00004 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00005 #include "DataFormats/GeometrySurface/interface/LocalError.h"
00006 #include "DataFormats/DetId/interface/DetId.h"
00007
00008 class FastTrackerCluster
00009 {
00010
00011 public:
00012
00013 FastTrackerCluster(): pos_(),err_(),id_(),simhitId_(),simtrackId_(),eeId_(),charge_() {}
00014
00015 virtual ~FastTrackerCluster() {}
00016
00017 FastTrackerCluster(const LocalPoint&, const LocalError&,
00018 const DetId&,
00019 const int simhitId,
00020 const int simtrackId,
00021 const uint32_t eeId,
00022 const float charge );
00023
00024
00025 const LocalPoint& localPosition() const {return pos_;}
00026 const LocalError& localPositionError() const{ return err_;}
00027 const DetId& id() const {return id_;}
00028 const int& simhitId() const {return simhitId_;}
00029 const int& simtrackId() const {return simtrackId_;}
00030 const uint32_t& eeId() const {return eeId_;}
00031 const float& charge() const {return charge_;}
00032
00033 virtual FastTrackerCluster * clone() const {return new FastTrackerCluster( * this); }
00034
00035 private:
00036
00037 LocalPoint pos_;
00038 LocalError err_;
00039 DetId id_;
00040 int const simhitId_;
00041 int const simtrackId_;
00042 uint32_t const eeId_;
00043 float const charge_ ;
00044
00045 };
00046
00047
00048 inline bool operator<( const FastTrackerCluster& one, const FastTrackerCluster& other) {
00049 return ( one.simhitId() < other.simhitId() );
00050 }
00051
00052
00053 #endif