CMS 3D CMS Logo

SimpleVFATFrameCollection.h
Go to the documentation of this file.
1 /****************************************************************************
2 *
3 * This is a part of the TOTEM offline software.
4 * Authors:
5 * Mate Csanad (mate.csanad@cern.ch)
6 * Jan Kašpar (jan.kaspar@gmail.com)
7 *
8 ****************************************************************************/
9 
10 #ifndef EventFilter_CTPPSRawToDigi_SimpleVFATFrameCollection
11 #define EventFilter_CTPPSRawToDigi_SimpleVFATFrameCollection
12 
15 
16 #include <map>
17 
22 protected:
23  typedef std::map<TotemFramePosition, VFATFrame> MapType;
24 
26 
27  value_type BeginIterator() const override;
28  value_type NextIterator(const value_type&) const override;
29  bool IsEndIterator(const value_type&) const override;
30 
31 public:
33  ~SimpleVFATFrameCollection() override;
34 
35  const VFATFrame* GetFrameByID(unsigned int ID) const override;
36  const VFATFrame* GetFrameByIndex(TotemFramePosition index) const override;
37 
38  unsigned int Size() const override { return data.size(); }
39 
40  bool Empty() const override { return (data.empty()); }
41 
42  void Insert(const TotemFramePosition& index, const VFATFrame& frame) { data.insert({index, frame}); }
44  data.insert({TotemFramePosition(index.getRawPosition()), frame});
45  }
48 
50  void Clear() { data.clear(); }
51 };
52 
53 #endif
value_type NextIterator(const value_type &) const override
shifts the iterator
bool Empty() const override
returns whether the collection is empty
uint32_t ID
Definition: Definitions.h:24
const VFATFrame * GetFrameByIndex(TotemFramePosition index) const override
returns frame at given position in Slink frame
std::pair< TotemFramePosition, const VFATFrame * > value_type
pair: frame DAQ position, frame data
std::map< TotemFramePosition, VFATFrame > MapType
void Clear()
cleans completely the collection
const VFATFrame * GetFrameByID(unsigned int ID) const override
returns pointer to frame with ID, performs NO duplicity check (if there is precisely one frame with t...
value_type BeginIterator() const override
returns the beginning of the collection
VFATFrame * InsertEmptyFrame(TotemFramePosition index)
inserts an empty (default) frame to the given position and returns pointer to the frame ...
unsigned int Size() const override
return the number of VFAT frames in the collection
bool IsEndIterator(const value_type &) const override
checks whether the iterator points over the end of the collection
void Insert(const TotemT2FramePosition &index, const VFATFrame &frame)
void Insert(const TotemFramePosition &index, const VFATFrame &frame)