Back to home page

Project CMSSW displayed by LXR

 
 

    


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;  // [fChunkLength]
0032   ClassDef(CDFChunk, 1)
0033 };
0034 #endif  // CDFChunk_h_included