00001 #ifndef __PXXVRecord__H__ 00002 #define __PXXVRecord__H__ 00003 00014 00015 #include "payloads-unpacker/payloads/PXXVUnpackable.h" 00016 00017 class PXXVRecord : public PXXVUnpackable 00018 { 00019 public: 00020 00024 virtual ~PXXVRecord(); 00025 //------------------------------------------------------------------------------ 00026 00030 virtual Short16b_t GetRecordType() const; 00031 //------------------------------------------------------------------------------ 00032 00033 protected: 00034 00038 PXXVRecord(); 00039 //------------------------------------------------------------------------------ 00040 00046 virtual Int32b_t ReadRecordType(); 00047 //------------------------------------------------------------------------------ 00048 00054 virtual void SetRecordType(Short16b_t rectype) { fSRecordType_ = rectype; } 00055 //------------------------------------------------------------------------------ 00056 00057 private: 00058 00059 Short16b_t fSRecordType_; // 4byte record type but used only lower 2bytes 00060 00061 ClassDef(PXXVRecord, 0) // interface of payloads 00062 00063 }; 00064 00065 #ifdef __USEROOT__ // compile with ROOT 00066 typedef PXXVRecord* PXXVRecordPtr; 00067 #else // compile with IceTray 00068 typedef shared_ptr<PXXVRecord> PXXVRecordPtr; 00069 #endif 00070 00071 #endif // __PXXVRecord__H__