Diana Software
MCoincidenceMultiplicity.hh
Go to the documentation of this file.
1 #ifndef _M_COINCIDENCE_MULTIPLICITY_HH_
2 #define _M_COINCIDENCE_MULTIPLICITY_HH_
3 
49 #include "QEventLabel.hh"
50 #include "QModule.hh"
51 #include <map>
52 #include <set>
53 #include <string>
54 #include <vector>
55 
56 class MCoincidenceMultiplicity : public Diana::QModule {
57 
58  public:
60  void Init(Diana::QEvent& ev);
61 
63  void Do(Diana::QEvent& ev);
64 
66  void Done();
67  private:
68  class EventInfo {
69  public:
71  int fChannel;
72  double fEnergy;
73  double fTime;
74 
78  double fTotalEnergy;
79  };
80 
82  std::set<int> fChannels;
83 
86 
88  std::vector<EventInfo> fEventInfos;
89 
91  std::map<int, int> fEventInfosIndex;
92 
94  std::string fPrefix;
95 
98 
101 
104 
107 
109  Diana::QEventLabel fEnergyLabel;
110 
112  Diana::QEventLabel fThermistorRankingLabel;
113 };
114 
115 #endif
116 
Puts multiplicities and total energies in events.
std::set< int > fChannels
List of channels to use.
std::string fPrefix
AuxData variable prefix string.
std::string fRelativeChannelsSource
Source file name or 'DB' for relative channels.
bool fUseThermistorRanking
Flag to use thermistor ranking.
Diana::QEventLabel fEnergyLabel
Energy variable label.
Diana::QEventLabel fThermistorRankingLabel
Thermistor ranking label.
std::string fThermistorRankingVariable
AuxData variable containing thermistor rankings.
std::map< int, int > fEventInfosIndex
map from EventNumber to fEventInfos index
std::vector< EventInfo > fEventInfos
time ordered vector of event info
void Init(Diana::QEvent &ev)
Init method.
bool fUseRunningWindow
Flag to use running or fixed window.
void Do(Diana::QEvent &ev)
Do method.
double fCoincidenceWindow
Maximum time (in seconds) between coincident events.