HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Pmm2MesList.h
Go to the documentation of this file.
1 #ifndef PMM2MESLIST_H
2 #define PMM2MESLIST_H
3 //
5 // Pmm2MesVect and Pmm2MesList classes
6 //
7 // Description of the PMM2 data from one channel
8 //
9 
10 #include "Rtypes.h"
11 #include <list>
12 #include <vector>
13 #include "Pmm2Mes.h"
14 
15 //Vector will hold mesrements for one event
16 typedef std::vector<Pmm2Mes> Pmm2MesVect_t;
17 
18 
19 class Pmm2MesVect {
20  public:
21  void print() const;
22 
23  void Clear() { mes.clear(); }
24 
25  Bool_t Empty() { return mes.empty(); }
26 
27  Long_t Size() { return mes.size(); }
28 
29  /* Pmm2Mes GetNext() { */
30  /* Pmm2Mes & tmp = mes.front(); */
31  /* mes.pop_front(); */
32  /* return tmp; */
33  /* } */
34 
35  void Push(const Pmm2Mes &val) { mes.push_back(val); }
36 
37  Pmm2Mes at(ULong_t idx) { return mes.at(idx); }
38  const Pmm2Mes at(size_t idx) const { return mes.at(idx); }
39 
40  Pmm2Mes operator[] (ULong_t idx) { return mes[idx]; }
41  const Pmm2Mes operator[] (size_t idx) const { return mes[idx]; }
42 
43  private:
44  Pmm2MesVect_t mes; // list of mesurements
45 };
46 
47 //List of all mesurements from current redout buffer
48 typedef std::list<Pmm2Mes> Pmm2MesList_t;
49 
50 
51 class Pmm2MesList {
52  public:
53  void print() const;
54 
55  void Clear() { mes.clear(); }
56 
57  Bool_t Empty() { return mes.empty(); }
58 
59  Pmm2Mes & Front() { return mes.front(); }
60 
62  Pmm2Mes tmp = mes.front();
63  mes.pop_front();
64  return tmp;
65  }
66 
67  void Push(const Pmm2Mes &val) { mes.push_back(val); }
68 
69  private:
70  Pmm2MesList_t mes; // list of mesurements
71 };
72 
73 #endif
74 
Bool_t Empty()
Definition: Pmm2MesList.h:25
Pmm2MesVect_t mes
Definition: Pmm2MesList.h:44
Pmm2Mes & Front()
Definition: Pmm2MesList.h:59
std::vector< Pmm2Mes > Pmm2MesVect_t
Definition: Pmm2MesList.h:16
Pmm2Mes GetNext()
Definition: Pmm2MesList.h:61
std::list< Pmm2Mes > Pmm2MesList_t
Definition: Pmm2MesList.h:48
A list of all mesurements in readout buffer for Pmm2 v2 card The class is place holder for all mesure...
Definition: Pmm2MesList.h:51
void Push(const Pmm2Mes &val)
Definition: Pmm2MesList.h:35
Bool_t Empty()
Definition: Pmm2MesList.h:57
Long_t Size()
Definition: Pmm2MesList.h:27
void print() const
Definition: Pmm2MesList.cxx:34
const Pmm2Mes at(size_t idx) const
Definition: Pmm2MesList.h:38
void Push(const Pmm2Mes &val)
Definition: Pmm2MesList.h:67
A one channel mesurements for Pmm2v2 card The class is represent one channel data of Pmm2v2 card for ...
Definition: Pmm2Mes.h:16
void Clear()
Definition: Pmm2MesList.h:55
void print() const
Definition: Pmm2MesList.cxx:28
Pmm2MesList_t mes
Definition: Pmm2MesList.h:70
A list of all mesurements in one Event for Pmm2 v2 card The class is place holder for all unpacked me...
Definition: Pmm2MesList.h:19
Pmm2Mes at(ULong_t idx)
Definition: Pmm2MesList.h:37
Pmm2Mes operator[](ULong_t idx)
Definition: Pmm2MesList.h:40
void Clear()
Definition: Pmm2MesList.h:23