1#ifndef Podd_PipeliningModule_h_
2#define Podd_PipeliningModule_h_
51 virtual void Init(
const char* configstr );
75 uint32_t type, uint32_t slot );
77 const uint32_t* buf,
size_t start,
size_t len, uint32_t evthdr,
78 uint32_t blktrl, std::vector<Long64_t>& evtpos, uint32_t slot );
89 const uint32_t* buf,
size_t start,
size_t len, uint32_t type )
99 const uint32_t ID =
BIT(31) | (
type & 0x0F) << 27;
100 const auto*
p = buf +
start;
101 const auto*
q =
p +
len;
102 while(
p !=
q && (*
p & 0xF8000000) != ID )
104 return (
p !=
q) ?
p - buf : -1;
110 const uint32_t* buf,
size_t start,
size_t len, uint32_t type, uint32_t slot )
120 const uint32_t ID =
BIT(31) | (
type & 0x0F) << 27 | (slot & 0x1F) << 22;
121 const auto*
p = buf +
start;
122 const auto*
q =
p +
len;
123 while(
p !=
q && (*
p & 0xFFC00000) != ID )
125 return (
p !=
q) ?
p - buf : -1;
131 const uint32_t* buf,
size_t start,
size_t len, uint32_t evthdr,
132 uint32_t blktrl, std::vector<Long64_t>& evtpos, uint32_t slot )
141 const uint32_t HDR =
BIT(31) | (slot & 0x1F) << 22;
142 const uint32_t EVT = HDR | (evthdr & 0x0F) << 27;
143 const uint32_t TRL = HDR | (blktrl & 0x0F) << 27;
144 const auto*
p = buf +
start;
145 const auto*
q =
p +
len;
146 while(
p !=
q && (*
p & 0xFFC00000) != TRL ) {
150 if( (*
p & 0xF8000000) == (EVT & 0xF8000000) )
151 evtpos.push_back(
p - buf);
154 return (
p !=
q) ?
p - buf : -1;
#define ClassDef(name, id)
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
virtual UInt_t LoadNextEvBuffer(THaSlotData *sldat)
PipeliningModule(const PipeliningModule &fh)=delete
static Long64_t FindIDWord(const uint32_t *buf, size_t start, size_t len, uint32_t type)
std::vector< Long64_t > evtblk
virtual UInt_t LoadBank(THaSlotData *sldat, const UInt_t *evbuffer, UInt_t pos, UInt_t len)
virtual void Clear(Option_t *opt="")
virtual UInt_t LoadBlock(THaSlotData *sldat, const UInt_t *evbuffer, const UInt_t *pstop)
PipeliningModule & operator=(const PipeliningModule &fh)=delete
static Long64_t FindEventsInBlock(const uint32_t *buf, size_t start, size_t len, uint32_t evthdr, uint32_t blktrl, std::vector< Long64_t > &evtpos, uint32_t slot)
virtual ~PipeliningModule()=default
Long64_t VerifyBlockTrailer(const UInt_t *evbuffer, UInt_t pos, UInt_t len, Long64_t ibeg, Long64_t iend) const
std::vector< UInt_t, default_init_allocator< UInt_t > > VectorUIntNI