File indexing completed on 2024-04-06 12:19:15
0001 #ifndef CDFChunk_h_included
0002 #define CDFChunk_h_included 1
0003
0004 #include "TObject.h"
0005 #include "TString.h"
0006
0007 class CDFChunk : public TObject {
0008 public:
0009 CDFChunk();
0010 CDFChunk(const char* name);
0011 void adoptBuffer(ULong64_t* buffer, Int_t length) {
0012 fChunk = buffer;
0013 fChunkLength = length;
0014 fHeaderSize = 2;
0015 fTrailerSize = 1;
0016 }
0017 void releaseBuffer() {
0018 fChunk = nullptr;
0019 fChunkLength = 0;
0020 }
0021 void setChunkName(const char* name) { fChunkName = name; }
0022 inline ULong64_t* getData() { return fChunk; }
0023 inline Int_t getDataLength() const { return fChunkLength; }
0024 inline int getSourceId() const { return ((fChunk[0] >> 8) & 0xFFF); }
0025
0026 private:
0027 TString fChunkName;
0028 Int_t fHeaderSize;
0029 Int_t fTrailerSize;
0030 Int_t fChunkLength;
0031 ULong64_t* fChunk;
0032 ClassDef(CDFChunk, 1)
0033 };
0034 #endif