00001 #ifndef CSCRecHitD_CSCWireHit_H 00002 #define CSCRecHitD_CSCWireHit_H 00003 00012 #include <DataFormats/MuonDetId/interface/CSCDetId.h> 00013 00014 #include <vector> 00015 #include <iosfwd> 00016 00017 class CSCWireHit 00018 { 00019 00020 public: 00021 00022 typedef std::vector<int> ChannelContainer; 00023 00024 CSCWireHit(); 00025 CSCWireHit( const CSCDetId& id, const float& wHitPos, ChannelContainer& wgroups, const int& tmax, 00026 const short int & deadWG, const std::vector <int>& timeBinsOn ); 00027 00028 ~CSCWireHit(); 00029 00031 CSCWireHit* clone() const { return new CSCWireHit( *this ); } 00032 00034 CSCDetId cscDetId() const { return theDetId; } 00035 00037 float wHitPos() const { return theWireHitPosition; } 00038 00040 //ChannelContainer wgroups() const { return theWgroups; } 00041 ChannelContainer wgroups() const { return theWgroupsLowBits; } 00042 00044 ChannelContainer wgroupsBX() const { return theWgroupsHighBits; } 00045 00047 ChannelContainer wgroupsBXandWire() const { return theWgroups; } 00048 00050 int tmax() const { return theWireHitTmax; } 00051 00053 short int deadWG() const {return theDeadWG; }; 00054 00056 std::vector<int> timeBinsOn() const {return theTimeBinsOn; }; 00057 00059 void print() const; 00060 00061 private: 00062 CSCDetId theDetId; 00063 float theWireHitPosition; 00064 ChannelContainer theWgroups; 00065 ChannelContainer theWgroupsHighBits; 00066 ChannelContainer theWgroupsLowBits; 00067 int theWireHitTmax; 00068 short int theDeadWG; 00069 std::vector <int> theTimeBinsOn; 00070 }; 00071 00072 00073 00074 #endif 00075