WatchListManager.h
Go to the documentation of this file.
1 #ifndef OM_WATCHLISTMANAGER_H
2 #define OM_WATCHLISTMANAGER_H
3 #include <vector>
4 #include <string>
5 
6 // Largest number of watchlist items we allow to exist
7 // This item is also defined in util/IPCBlock.h!!!
8 static const unsigned int NMAX_WATCHLIST = 64;
9 
10 class TH1F;
11 class TH2F;
12 
13 namespace om {
14  //
15  // Define the structure of the WatchList
16  //
17  struct WatchList
18  {
19  std::vector< int > fDB;
20  std::vector< int > fDCM;
21  std::vector< int > fFEB;
22  std::vector< int > fPIX;
23  std::vector< int > fActive;
24  };
25 }
26 
27 namespace om {
29 
30  public:
31  static WatchListManager& Instance();
32 
33  void Add (int db, int dcm, int feb, int pix);
34  void Remove(int db, int dcm, int feb, int pix);
35  void GetList(std::vector<int>& db,
36  std::vector<int>& dcm,
37  std::vector<int>& feb,
38  std::vector<int>& pix);
39  void FillPlots(int db, int dcm, int feb, int pix,
40  double time, unsigned int adc);
41  void EndSubrunCleanUp();
42 
43  private:
46 
47  struct WatchList fCurrentWL;
48 
49  private:
50  std::vector< TH2F* > fWLTQ;
51  std::vector< TH1F* > fWLT;
52  std::vector< TH1F* > fWLQ;
53 
54  };
55 }
56 #endif
std::vector< int > fDCM
static const unsigned int NMAX_WATCHLIST
std::vector< TH1F * > fWLQ
std::vector< TH1F * > fWLT
std::vector< int > fPIX
std::vector< int > fDB
std::vector< int > fActive
static void Add(TH3D *h, const int bx, const int by, const int bz, const double w)
std::vector< TH2F * > fWLTQ
std::vector< int > fFEB
Online Monitoring package header.