Go to the documentation of this file.00001 #ifndef DataFormats_RPCRecHit_H
00002 #define DataFormats_RPCRecHit_H
00003
00013 #include "DataFormats/TrackingRecHit/interface/RecHit2DLocalPos.h"
00014 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
00015
00016
00017 class RPCRecHit : public RecHit2DLocalPos {
00018 public:
00019
00020 RPCRecHit(const RPCDetId& rpcId,
00021 int bx);
00022
00024 RPCRecHit();
00025
00030 RPCRecHit(const RPCDetId& rpcId,
00031 int bx,
00032 const LocalPoint& pos);
00033
00034
00036 RPCRecHit(const RPCDetId& rpcId,
00037 int bx,
00038 const LocalPoint& pos,
00039 const LocalError& err);
00040
00041
00043 RPCRecHit(const RPCDetId& rpcId,
00044 int bx,
00045 int firstStrip,
00046 int clustSize,
00047 const LocalPoint& pos,
00048 const LocalError& err);
00049
00051 virtual ~RPCRecHit();
00052
00053
00055 virtual LocalPoint localPosition() const {
00056 return theLocalPosition;
00057 }
00058
00059
00061 virtual LocalError localPositionError() const {
00062 return theLocalError;
00063 }
00064
00065
00066 virtual RPCRecHit* clone() const;
00067
00068
00071 virtual std::vector<const TrackingRecHit*> recHits() const;
00072
00073
00076 virtual std::vector<TrackingRecHit*> recHits();
00077
00078
00080 void setPosition(LocalPoint pos) {
00081 theLocalPosition = pos;
00082 }
00083
00084
00086 void setError(LocalError err) {
00087 theLocalError = err;
00088 }
00089
00090
00092 void setPositionAndError(LocalPoint pos, LocalError err) {
00093 theLocalPosition = pos;
00094 theLocalError = err;
00095 }
00096
00097
00099 RPCDetId rpcId() const {
00100 return theRPCId;
00101 }
00102
00103 int BunchX() const {
00104 return theBx;
00105 }
00106
00107 int firstClusterStrip() const {
00108 return theFirstStrip;
00109 }
00110
00111 int clusterSize() const {
00112 return theClusterSize;
00113 }
00114
00116 bool operator==(const RPCRecHit& hit) const;
00117
00118 private:
00119 RPCDetId theRPCId;
00120 int theBx;
00121 int theFirstStrip;
00122 int theClusterSize;
00123
00124 LocalPoint theLocalPosition;
00125 LocalError theLocalError;
00126
00127 };
00128 #endif
00129
00131 std::ostream& operator<<(std::ostream& os, const RPCRecHit& hit);