00001 #ifndef GctBlockHeader_h_ 00002 #define GctBlockHeader_h_ 00003 00004 00014 // C++ headers 00015 #include <ostream> 00016 #include <stdint.h> 00017 00018 class GctBlockHeader 00019 { 00020 public: 00021 00022 /* PUBLIC METHODS */ 00023 00025 00026 GctBlockHeader(uint32_t blockId, 00027 uint32_t blockLength, 00028 uint32_t nSamples, 00029 uint32_t bxId, 00030 uint32_t eventId, 00031 bool valid); 00032 00034 ~GctBlockHeader() {}; 00035 00037 uint32_t blockId() const { return m_blockId; } 00038 00040 uint32_t blockLength() const { return m_blockLength; } 00041 00043 uint32_t nSamples() const { return m_nSamples; } 00044 00046 uint32_t bxId() const { return m_bxId; } 00047 00049 uint32_t eventId() const { return m_eventId; } 00050 00052 bool valid() const { return m_valid; } 00053 00054 00055 private: 00056 00057 /* PRIVATE METHODS */ 00058 00059 00060 00061 /* PRIVATE MEMBER DATA */ 00062 00063 uint32_t m_blockId; 00064 00065 uint32_t m_blockLength; 00066 00067 uint32_t m_nSamples; 00068 00069 uint32_t m_bxId; 00070 00071 uint32_t m_eventId; 00072 00073 bool m_valid; 00074 00075 }; 00076 00077 #include <vector> 00078 typedef std::vector<GctBlockHeader> GctBlockHeaderCollection; 00079 00080 std::ostream& operator<<(std::ostream& os, const GctBlockHeader& h); 00081 00082 #endif /* GctBlockHeader_h_ */