10 #ifndef EventFilter_CTPPSRawToDigi_VFATFrameCollection
11 #define EventFilter_CTPPSRawToDigi_VFATFrameCollection
38 virtual unsigned int Size()
const = 0;
41 virtual bool Empty()
const = 0;
44 typedef std::pair<TotemFramePosition, const VFATFrame*>
value_type;
62 {
return value.first; }
66 {
return value.second; }
void Next()
shifts the iterator
TotemFramePosition Position()
returns the DAQ position of the current element
virtual const VFATFrame * GetFrameByIndex(TotemFramePosition index) const =0
returns frame at given position in Slink frame
Iterator(const VFATFrameCollection *c=NULL)
constructor, automatically sets the iterator to the beginning
virtual ~VFATFrameCollection()
virtual const VFATFrame * GetFrameByID(unsigned int ID) const =0
returns pointer to frame with ID, performs NO duplicity check (if there is precisely one frame with t...
std::pair< TotemFramePosition, const VFATFrame * > value_type
pair: frame DAQ position, frame data
virtual value_type BeginIterator() const =0
returns the beginning of the collection
virtual unsigned int Size() const =0
return the number of VFAT frames in the collection
the VFATFrameCollection interator
virtual const VFATFrame * GetFrameByIndexID(TotemFramePosition index, unsigned int ID)
returns frame at given position in Slink frame and checks 12bit ID
const VFATFrame * Data()
returns the frame data of the current element
virtual bool IsEndIterator(const value_type &) const =0
checks whether the iterator points over the end of the collection
value_type value
interator value
virtual value_type NextIterator(const value_type &) const =0
shifts the iterator
bool IsEnd()
returns whether the iterator points over the end of the collection
virtual bool Empty() const =0
returns whether the collection is empty
const VFATFrameCollection * collection
the pointer to the collection