Jpp  master_rocky-43-ge265d140c
the software that should make you happy
JTriggerTestkit.hh
Go to the documentation of this file.
1 #ifndef __JTRIGGERTESTKIT__
2 #define __JTRIGGERTESTKIT__
3 
4 #include "TRandom3.h"
5 
7 #include "JMath/JRandom.hh"
8 
9 /**
10  * \author mdejong
11  */
12 
13 namespace JTRIGGER {}
14 namespace JPP { using namespace JTRIGGER; }
15 
16 namespace JTRIGGER {
17 
18  using JMATH::getRandom;
19 
20 
21  /**
22  * Randomize trigger parameters.
23  *
24  * \param p pointer to valid object
25  */
27  {
28  p->enabled = getRandom<bool>();
29  p->numberOfHits = getRandom<int>(1, 10);
30  p->numberOfModules = getRandom<int>(1, 10);
31  p->DMax_m = getRandom<double>( 0.0, 999.0, 1.0);
32  p->roadWidth_m = getRandom<double>(50.0, 250.0, 1.0);
33  p->gridAngle_deg = getRandom<double>( 1.0, 10.0, 1.0);
34  p->TMaxExtra_ns = getRandom<double>(10.0, 50.0, 1.0);
35  p->factoryLimit = getRandom<double>(100, 200);
36  }
37 
38 
39  /**
40  * Randomize trigger parameters.
41  *
42  * \param p pointer to valid object
43  */
45  {
46  p->enabled = getRandom<bool>();
47  p->numberOfHits = getRandom<int>(1, 10);
48  p->numberOfModules = getRandom<int>(1, 10);
49  p->DMax_m = getRandom<double>( 0.0, 999.0, 1.0);
50  p->TMaxExtra_ns = getRandom<double>(10.0, 50.0, 1.0);
51  p->factoryLimit = getRandom<double>(100, 200);
52  }
53 
54 
55  /**
56  * Randomize trigger parameters.
57  *
58  * \param p pointer to valid object
59  */
61  {
62  p->enabled = getRandom<bool>();
63  p->numberOfHits = getRandom<int>(1, 10);
64  p->numberOfModules = getRandom<int>(1, 10);
65  p->DMax_m = getRandom<double>( 0.0, 999.0, 1.0);
66  p->TMaxExtra_ns = getRandom<double>(10.0, 50.0, 1.0);
67  p->factoryLimit = getRandom<double>(100, 200);
68  }
69 
70 
71  /**
72  * Randomize trigger parameters.
73  *
74  * \param p pointer to valid object
75  */
77  {
78  p->enabled = getRandom<bool>();
79 
80  p->pmts.clear();
81 
82  for (int i = getRandom<int>(1, 10); i != 0; --i) {
83  p->pmts.push_back(JPMTIdentifier_t(getRandom<int>(-1, 100),
84  getRandom<int>(-1, 30)));
85  }
86  }
87 
88 
89  /**
90  * Randomize trigger parameters.
91  *
92  * \param p pointer to valid object
93  */
94  inline void randomize(JTriggerParameters* p)
95  {
96  p->highRateVeto_Hz = getRandom<double>(1.0e3, 1.0e4, 1.0);
97  p->L2Min = getRandom<int>(2, 3);
98  p->ctMin = getRandom<double>( -1.0, +1.0, 0.1);
99  p->TMaxLocal_ns = getRandom<double>( 10.0, 20.0, 1.0);
100  p->TMaxEvent_ns = getRandom<double>(100.0, 999.0, 1.0);
101  p->numberOfBins = getRandom<int>(100, 1000);
102  p->combineL1 = getRandom<bool>();
103 
104  p->trigger3DMuon = getRandom<JTrigger3DMuon_t ::JParameters>();
105  p->trigger3DShower = getRandom<JTrigger3DShower_t::JParameters>();
106  p->triggerMXShower = getRandom<JTriggerMXShower_t::JParameters>();
107  p->triggerNB = getRandom<JTriggerNB_t ::JParameters>();
108 
109  p->writeSummary = getRandom<long long int>(0, 100);
110  p->writeL0 = getRandom<long long int>(0, 100);
111  p->writeL1 = getRandom<long long int>(0, 100);
112  p->writeL2 = getRandom<long long int>(0, 100);
113  p->writeSN = getRandom<long long int>(0, 100);
114  }
115 }
116 
117 #endif
Definition of random value generator.
double TMaxExtra_ns
maximal extra time [ns]
double DMax_m
maximal distance between PMTs [m]
double roadWidth_m
maximal road width [m]
int numberOfModules
minimal number of modules to trigger event
bool enabled
enabled status of trigger
int factoryLimit
maximal number of hits to apply trigger logic (above this limit, always trigger)
int numberOfHits
minimal number of hits to trigger event
int factoryLimit
maximal number of hits to apply trigger logic (above this limit, always trigger
double DMax_m
maximal distance between PMTs [m]
int numberOfModules
minimal number of modules to trigger event
int numberOfHits
minimal number of hits to trigger event
double TMaxExtra_ns
maximal extra time [ns]
double DMax_m
maximal distance between PMTs [m]
int factoryLimit
maximal number of hits to apply trigger logic (above this limit, always trigger)
int numberOfHits
minimal number of hits to trigger event
double TMaxExtra_ns
maximal extra time [ns]
int numberOfModules
minimal number of modules to trigger event
bool enabled
enabled status of trigger
Definition: JTriggerNB_t.hh:82
JPMTSelector pmts
PMT selection.
Definition: JTriggerNB_t.hh:84
Data structure for all trigger parameters.
double highRateVeto_Hz
high-rate veto [Hz]
int L2Min
minimal number of L0 hits for L2
int numberOfBins
number of bins for lookup table of timeslice
JPrescaler writeL0
write JDAQTimeslice with L0 data
double TMaxLocal_ns
maximal time difference between L0 hits for L1
JPrescaler writeL1
write JDAQTimeslice with L1 data
JPrescaler writeSummary
write JDAQSummaryslice
JPrescaler writeL2
write JDAQTimeslice with L2 data
JTrigger3DShower_t::JParameters trigger3DShower
JTrigger3DMuon_t::JParameters trigger3DMuon
JPrescaler writeSN
write JDAQTimeslice with SN data
double TMaxEvent_ns
maximal time before and after event for snapshot
double ctMin
this parameter has been deprecated
bool combineL1
combine multiple L1s in many-fold coincidence
JTriggerMXShower_t::JParameters triggerMXShower
T getRandom()
Get random value.
Definition: JRandom.hh:113
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for triggering.
void randomize(JTriggerParameters *p)
Randomize trigger parameters.