NSCL DDAS  12.1-001
Support for XIA DDAS at FRIB
CMyScaler.h
Go to the documentation of this file.
1 
6 #ifndef MYSCALER_H
7 #define MYSCALER_H
8 
9 #include <config.h>
10 #include <CScaler.h>
11 #include <vector>
12 #include <stddef.h>
13 
47 class CMyScaler : public CScaler
48 {
49 public:
51  typedef struct _Counters {
52  size_t s_nTriggers;
56  typedef struct _Statistics {
60 
61 private:
62  unsigned short m_crate;
63  unsigned short m_module;
64  double m_prevIC[16];
65  double m_prevOC[16];
66  std::vector<uint32_t> m_scalers;
67  Statistics m_statistics;
68 
69 public:
75  CMyScaler(unsigned short mod, unsigned short crate);
77  ~CMyScaler();
78 
80  virtual void initialize();
85  virtual std::vector<uint32_t> read();
87  virtual void clear() {};
91  virtual void disable() {};
96  virtual unsigned int size() { return 32; };
101  const Statistics& getStatistics() const { return m_statistics; }
102 
103 private:
104  void clearCounters(Counters& c);
105 };
106 
107 #endif
Generate scaler data from run statistics.
Definition: CMyScaler.h:48
virtual unsigned int size()
Return the size of the scaler data.
Definition: CMyScaler.h:96
struct CMyScaler::_Counters Counters
Count raw and accepted triggers.
virtual void initialize()
Zero the per-run statistics and counters.
Definition: CMyScaler.cpp:36
~CMyScaler()
Destructor.
Definition: CMyScaler.cpp:32
const Statistics & getStatistics() const
Get the run statistics.
Definition: CMyScaler.h:101
virtual std::vector< uint32_t > read()
Read scalar data from a module.
Definition: CMyScaler.cpp:56
virtual void disable()
Disable. Scalars do not need to be disabled at the end of a run.
Definition: CMyScaler.h:91
struct CMyScaler::_Statistics Statistics
Statistics are counters for cumulative and per-run triggers.
CMyScaler(unsigned short mod, unsigned short crate)
Constructor.
Definition: CMyScaler.cpp:19
virtual void clear()
Cannot clear with Pixies. Does nothing.
Definition: CMyScaler.h:87
Count raw and accepted triggers.
Definition: CMyScaler.h:51
size_t s_nTriggers
Raw triggers.
Definition: CMyScaler.h:52
size_t s_nAcceptedTriggers
Accepted triggers (i.e. by the FPGA).
Definition: CMyScaler.h:53
Statistics are counters for cumulative and per-run triggers.
Definition: CMyScaler.h:56
CMyScaler::Counters s_perRun
Per-run. Cleared on initialize.
Definition: CMyScaler.h:58
CMyScaler::Counters s_cumulative
Cumulative. Not cleared on initialize.
Definition: CMyScaler.h:57