CMS 3D CMS Logo

CDFChunk.h
Go to the documentation of this file.
1 #ifndef CDFChunk_h_included
2 #define CDFChunk_h_included 1
3 
4 #include "TObject.h"
5 #include "TString.h"
6 
7 class CDFChunk : public TObject {
8 public:
9  CDFChunk();
10  CDFChunk(const char* name);
11  void adoptBuffer(ULong64_t* buffer, Int_t length) { fChunk=buffer; fChunkLength=length; fHeaderSize=2; fTrailerSize=1; }
12  void releaseBuffer() { fChunk=nullptr; fChunkLength=0; }
13  void setChunkName(const char* name) { fChunkName=name; }
14  inline ULong64_t* getData() { return fChunk; }
15  inline Int_t getDataLength() const { return fChunkLength; }
16  inline int getSourceId() const { return ((fChunk[0]>>8)&0xFFF); }
17  private:
18  TString fChunkName;
19  Int_t fHeaderSize;
20  Int_t fTrailerSize;
21  Int_t fChunkLength;
22  ULong64_t* fChunk; // [fChunkLength]
23  ClassDef(CDFChunk,1)
24 };
25 #endif // CDFChunk_h_included
CDFChunk()
Definition: CDFChunk.cc:3
void releaseBuffer()
Definition: CDFChunk.h:12
int getSourceId() const
Definition: CDFChunk.h:16
Int_t fChunkLength
Definition: CDFChunk.h:21
TString fChunkName
Definition: CDFChunk.h:18
void setChunkName(const char *name)
Definition: CDFChunk.h:13
void adoptBuffer(ULong64_t *buffer, Int_t length)
Definition: CDFChunk.h:11
ULong64_t * fChunk
Definition: CDFChunk.h:22
Int_t fTrailerSize
Definition: CDFChunk.h:20
Int_t fHeaderSize
Definition: CDFChunk.h:19
Int_t getDataLength() const
Definition: CDFChunk.h:15
ULong64_t * getData()
Definition: CDFChunk.h:14