28 JLimit_t& numberOfEvents = inputFiles.getLimit();
41 zap[
'n'] =
make_field(numberOfEvents ) = JLimit::max();
43 zap[
'h'] =
make_field(depth ,
"detector depth [m]" ) = 2500.0;
44 zap[
'l'] =
make_field(wavelength ,
"LED wavelength [nm]") = 400.0;
48 catch(
const exception &error) {
49 ERROR(error.what() << endl);
57 JHitBuffer triggerBuffer;
58 JHitBuffer snapshotBuffer;
60 load(detectorFile , detector);
66 double cw =
getSpeedOfLight() / jd.getIndexOfRefractionGroup(wavelength);
75 triggerBuffer .clear();
76 snapshotBuffer.clear();
78 builder(*event, moduleRouter,
true , back_inserter(snapshotBuffer));
79 builder(*event, moduleRouter,
false , back_inserter( triggerBuffer));
81 sort(triggerBuffer.begin(),triggerBuffer.end(),less<JHit>());
83 JHitBuffer::const_iterator triggeredHit = triggerBuffer.begin();
85 int triggeredString = moduleRouter.getModule( triggeredHit -> getModuleID() ).getString() ;
86 int triggeredFloor = moduleRouter.getModule( triggeredHit -> getModuleID() ).getFloor() ;
88 for(JHitBuffer::const_iterator snapshotHit = snapshotBuffer.begin(); snapshotHit != snapshotBuffer.end(); ++snapshotHit){
90 int snapshotString = moduleRouter.getModule( snapshotHit -> getModuleID() ).getString() ;
91 int snapshotFloor = moduleRouter.getModule( snapshotHit -> getModuleID() ).getFloor() ;
93 double ToF = triggeredHit->getDistance(*snapshotHit) / cw;
94 double Dt = snapshotHit->getT() - triggeredHit->getT();
100 TFile output(outFile.c_str() ,
"recreate") ;
101 timeDifferences -> Write(output);
Auxiliary class to set-up Hit.
Utility class to parse command line options.
virtual const pointer_type & next()
Get next element.
Implementation of dispersion for water in deep sea.
Router for direct addressing of module data in detector data structure.
#define MAKE_STRING(A)
Make string.
Auxiliary class to manage set of compatible ROOT objects (e.g.
Auxiliary class for defining the range of iterations of objects.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
void load(const JString &file_name, JDetector &detector)
Load detector from input file.
virtual bool hasNext()
Check availability of next element.
General purpose class for object reading from a list of file names.
Data structure for L0 hit.
std::string to_string(const T &value)
Convert value to string.