Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:23

0001 //_______________________________________
0002 //
0003 //  Class for TMB Logic Analyzer Data
0004 //  CSCTMBMiniScope   July 2010 Alexander Sakharov (Wayne State University)
0005 //_______________________________________
0006 //
0007 
0008 #ifndef EventFilter_CSCRawToDigi_CSCTMBMiniScope_h
0009 #define EventFilter_CSCRawToDigi_CSCTMBMiniScope_h
0010 #include <vector>
0011 #include <map>
0012 #include <cstdint>
0013 
0014 class CSCTMBMiniScope {
0015 public:
0016   CSCTMBMiniScope() { size_ = 0; }  //default constructor
0017   CSCTMBMiniScope(const uint16_t *buf, int Line6b07, int Line6E07);
0018   int getSize() const { return size_; }
0019   int getTbinCount() const { return miniScopeTbinCount; }
0020   int getTbinPreTrigger() const { return miniScopeTbinPreTrigger; }
0021   std::vector<int> getAdr() const { return miniScopeAdress; }
0022   std::vector<int> getData() const { return miniScopeData; }
0023   std::vector<int> getChannelsInTbin(int data) const;
0024 
0025   void print() const;  /// Print the maped content of the miniscope
0026 
0027 private:
0028   int UnpackMiniScope(const uint16_t *buf, int Line6b07, int Line6E07);
0029 
0030   std::vector<int> miniScopeAdress;  /// stores all mini scope adresses
0031   std::vector<int> miniScopeData;    /// stores all mini scope data
0032   int miniScopeTbinCount;
0033   int miniScopeTbinPreTrigger;
0034   unsigned size_;
0035 };
0036 
0037 #endif