43{
46
49 JLimit_t& numberOfEvents = inputFile.getLimit();
55
56 try {
57
58 JParser<> zap(
"Auxiliary program to generate noise in Monte Carlo event.");
59
68
70 }
71 catch(const exception &error) {
73 }
74
75
77
78 const int NPE = 1;
79
80
82
83 try {
85 }
88 }
89
90
92
94
96 }
97
98
100
102
105 }
106
109
110 if (!inputFile.empty()) {
111
113
115
116 while (inputFile.hasNext()) {
117
119
120 Evt*
event = inputFile.next();
121
123
125
127
129
131
132 } else {
133
135
136 ++i;
137 }
138 }
139
140 event->mc_hits.erase(__end, event->mc_hits.end());
141
144 else
146
147
149
151
153
155
156 for (unsigned int pmt = 0; pmt != buffer.size(); ++pmt) {
157
158 const JModuleData::value_type& frame = buffer[pmt];
159
160 for (JModuleData::value_type::const_iterator
hit = frame.begin();
hit != frame.end(); ++
hit) {
161
162 event->mc_hits.push_back(
JHit_t(event->mc_hits.size() + 1,
163 module->getPMT(pmt).getID(),
165 0,
167 NPE));
168 }
169 }
170 }
171
172
174 }
175 } else {
176
177 for (
counter_type counter = 0; counter != numberOfEvents; ++counter) {
178
180
182
184
186
188
190
191 for (unsigned int pmt = 0; pmt != buffer.size(); ++pmt) {
192
193 const JModuleData::value_type& frame = buffer[pmt];
194
195 for (JModuleData::value_type::const_iterator
hit = frame.begin();
hit != frame.end(); ++
hit) {
196
198 module->getPMT(pmt).getID(),
200 0,
202 NPE));
203 }
204 }
205 }
206
207
209 }
210 }
212
215}
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Default implementation of the simulation of K40 background.
Data structure for PMT data corresponding to a detector module.
void reset(size_t size)
Reset buffers.
Template definition of a multi-dimensional oscillation probability interpolation table.
@ HIT_TYPE_NOISE
Random noise.
bool is_noise(const Hit &hit)
Verify hit origin.
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [s]).
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
const char * getTime()
Get current local time conform ISO-8601 standard.
double getMaximalTime(const double R_Hz)
Get maximal time for given rate.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
std::vector< Hit > mc_hits
MC: list of MC truth hits.
Template definition of random value generator.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary class for K40 rates.
Auxiliary class to set-up Hit.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.