00001 #ifndef CSCRecHitD_CSCStripHit_H 00002 #define CSCRecHitD_CSCStripHit_H 00003 00015 #include <DataFormats/MuonDetId/interface/CSCDetId.h> 00016 00017 #include <vector> 00018 #include <iosfwd> 00019 00020 class CSCStripHit 00021 { 00022 00023 public: 00024 00025 typedef std::vector<float> StripHitADCContainer; 00026 typedef std::vector<int> ChannelContainer; 00027 00028 CSCStripHit(); 00029 CSCStripHit( const CSCDetId& id, 00030 const float& sHitPos, 00031 const int& tmax, 00032 const ChannelContainer& strips, 00033 const StripHitADCContainer& s_adc, 00034 const StripHitADCContainer& s_adcRaw, 00035 const int& numberOfConsecutiveStrips, 00036 const int& closestMaximum, 00037 const bool& isNearDeadStrip); 00038 00039 ~CSCStripHit(); 00040 00042 CSCStripHit* clone() const { return new CSCStripHit( *this ); } 00043 00045 CSCDetId cscDetId() const { return theDetId; } 00046 00048 float sHitPos() const { return theStripHitPosition; } 00049 00051 int tmax() const { return theStripHitTmax; } 00052 00054 const ChannelContainer& strips() const { return theStrips; } 00055 00057 const StripHitADCContainer& s_adc() const { return theStripHitADCs; } 00058 00060 const StripHitADCContainer& s_adcRaw() const { return theStripHitRawADCs; } 00061 00063 int numberOfConsecutiveStrips() const { return theConsecutiveStrips; } 00064 00066 int closestMaximum() const { return theClosestMaximum; } 00067 00069 bool isNearDeadStrip() const {return isDeadStripAround; }; 00070 00071 00072 private: 00073 CSCDetId theDetId; 00074 float theStripHitPosition; 00075 int theStripHitTmax; 00076 ChannelContainer theStrips; 00077 StripHitADCContainer theStripHitADCs; 00078 StripHitADCContainer theStripHitRawADCs; 00079 int theConsecutiveStrips; 00080 int theClosestMaximum; 00081 bool isDeadStripAround; 00082 00083 }; 00084 00085 00086 00087 #endif 00088