42int main(
int argc,
char **argv)
49 JLimit_t& numberOfEvents = inputFile.getLimit();
58 JParser<> zap(
"Auxiliary program to generate noise in Monte Carlo event.");
71 catch(
const exception &error) {
72 FATAL(error.what() << endl);
110 if (!inputFile.empty()) {
130 iter_swap(i, --__end);
140 event->mc_hits.erase(__end, event->mc_hits.end());
143 time_range.
add(period);
150 for (JDetector::const_iterator module =
detector.begin(); module !=
detector.end(); ++module) {
152 buffer.
reset(module->size());
156 for (
unsigned int pmt = 0; pmt != buffer.size(); ++pmt) {
158 const JModuleData::value_type& frame = buffer[pmt];
160 for (JModuleData::value_type::const_iterator hit = frame.begin(); hit != frame.end(); ++hit) {
162 event->mc_hits.push_back(
JHit_t(event->mc_hits.size() + 1,
163 module->getPMT(pmt).getID(),
177 for (
counter_type counter = 0; counter != numberOfEvents; ++counter) {
179 STATUS(
"event: " << setw(10) << counter <<
'\r');
DEBUG(endl);
185 for (JDetector::const_iterator module =
detector.begin(); module !=
detector.end(); ++module) {
187 buffer.
reset(module->size());
191 for (
unsigned int pmt = 0; pmt != buffer.size(); ++pmt) {
193 const JModuleData::value_type& frame = buffer[pmt];
195 for (JModuleData::value_type::const_iterator hit = frame.begin(); hit != frame.end(); ++hit) {
198 module->getPMT(pmt).getID(),
Data structure for detector geometry and calibration.
Recording of objects on file according a format that follows from the file name extension.
General purpose messaging.
#define DEBUG(A)
Message macros.
int main(int argc, char **argv)
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
ROOT TTree parameter settings of various packages.
virtual void generateHits(const JModule &module, const JTimeRange &period, JModuleData &output) const
Generate hits.
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.
Utility class to parse command line options.
General purpose class for object reading from a list of file names.
virtual bool hasNext() override
Check availability of next element.
counter_type getCounter() const
Get counter.
virtual const pointer_type & next() override
Get next element.
@ 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).
Long64_t counter_type
Type definition for counter.
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.