00001 /* -*- C++ -*- */ 00002 #ifndef HcalTTPData_H 00003 #define HcalTTPData_H 00004 00005 #include "EventFilter/HcalRawToDigi/interface/HcalHTRData.h" 00006 #include <vector> 00007 00019 class HcalTTPData : public HcalHTRData { 00020 public: 00021 static const int TTP_INPUTS = 72; 00022 static const int TTP_ALGOBITS = 24; 00023 00024 HcalTTPData(); 00025 HcalTTPData(int version_to_create); 00026 HcalTTPData(const unsigned short* data, int length); 00027 HcalTTPData(const HcalTTPData&); 00028 00029 HcalTTPData& operator=(const HcalTTPData&); 00030 00034 bool check() const; 00035 00036 typedef std::vector<bool> InputBits; 00037 typedef std::vector<bool> AlgoBits; 00038 00039 void unpack(std::vector<InputBits>& ivs, std::vector<AlgoBits>& avs) const; 00040 00041 private: 00042 void determineSectionLengths(int& dataWords, 00043 int& headerWords, int& trailerWords) const; 00044 }; 00045 00046 #endif 00047