33 int main(
int argc,
char **argv)
37 using namespace KM3NETDAQ;
39 JFileRecorder<JTYPELIST<JDAQTimeslice, JMeta, JRootTypes_t>::typelist>
outputFile;
41 Long64_t numberOfEvents;
43 JPMTParametersMap pmtParameters;
51 JParser<> zap(
"Auxiliary program to write time slices with random data.");
65 catch(
const exception &error) {
66 FATAL(error.what() << endl);
70 gRandom->SetSeed(seed);
77 if (pmtParameters.getQE() != 1.0) {
79 WARNING(
"Correct background rates with global efficiency " << pmtParameters.getQE() << endl);
81 rates_Hz.correct(pmtParameters.getQE());
84 DEBUG(
"PMT parameters: " << endl << pmtParameters << endl);
85 DEBUG(
"K40 rates: " << endl << rates_Hz << endl);
90 load(detectorFile, detector);
92 catch(
const JException& error) {
96 JPMTParametersMap::Throw(
false);
98 JDetectorSimulator simbad(detector);
100 simbad.reset(
new JPMTDefaultSimulator(pmtParameters, detector));
101 simbad.reset(
new JK40DefaultSimulator(rates_Hz));
102 simbad.reset(
new JCLBDefaultSimulator(TCLB_ns));
105 JTimer timerco(
"constructor");;
106 JTimer timerIO(
"I/O");
119 for ( ; frame_index <= numberOfEvents; ++frame_index) {
121 STATUS(
"event: " << setw(10) << frame_index <<
'\r');
DEBUG(endl);
127 const JDAQChronometer chronometer(detector.getID(), run, frame_index, timeOfFrame);
145 const double factor = 1.0 / (double) (frame_index - 1);
147 timerco.print(cout, factor);
148 timerIO.print(cout, factor);
Timeslice with random data.
Utility class to parse command line options.
Recording of objects on file according a format that follows from the file name extension.
Empty structure for specification of parser element that is initialised (i.e.
Data structure for UTC time.
Data structure for detector geometry and calibration.
unsigned int JTDC_t
leading edge [ns]
double getTimeOfFrame(const int frame_index)
Get start time of frame in ns since start of run for a given frame index.
void setDAQLongprint(const bool option)
Set DAQ print option.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
void setTimeNanoSecond(const double utc_ns)
Set time.
void load(const JString &file_name, JDetector &detector)
Load detector from input file.
General purpose messaging.
Utility class to parse command line options.
ROOT TTree parameter settings.
#define DEBUG(A)
Message macros.
int main(int argc, char *argv[])