37   JLimit_t&   numberOfEvents = inputFile.getLimit();
 
   45     JParser<> zap(
"Auxiliary program to shift the generated tracks according a given offset.");
 
   49     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   57   catch(
const exception& error) {
 
   58     FATAL(error.what() << endl);
 
   66   const Vec offset(xshift,yshift,zshift);
 
   68   NOTICE(
"Offset applied to true tracks is: " << offset << endl);
 
   85     buffer.simul.push_back(info);
 
   87     buffer.push(&JHead::simul);
 
   89     bool can_found      = buffer.is_valid(&JHead::can);
 
   90     bool fixedcan_found = buffer.is_valid(&JHead::fixedcan);
 
   93       NOTICE(
"can found" << endl);
 
   96       NOTICE(
"fixedcan found" << endl);
 
   99     if        (can_found      && !fixedcan_found) {
 
  101       buffer.fixedcan.xcenter = xshift;
 
  102       buffer.fixedcan.ycenter = yshift;
 
  103       buffer.fixedcan.zmin    = buffer.can.zmin + zshift;
 
  104       buffer.fixedcan.zmax    = buffer.can.zmax + zshift;
 
  105       buffer.fixedcan.radius  = buffer.can.r;
 
  107       buffer.push(&JHead::fixedcan);
 
  109       buffer.erase(&JHead::can);
 
  111     } 
else if (fixedcan_found && !can_found) {
 
  113       buffer.fixedcan.xcenter = buffer.fixedcan.xcenter + xshift;
 
  114       buffer.fixedcan.ycenter = buffer.fixedcan.ycenter + yshift;
 
  115       buffer.fixedcan.zmin    = buffer.fixedcan.zmin    + zshift;
 
  116       buffer.fixedcan.zmax    = buffer.fixedcan.zmax    + zshift;
 
  118     } 
else if (!can_found     && !fixedcan_found) {
 
  120       FATAL(
"Neither can nor fixedcan is found" << endl);
 
  124       FATAL(
"Both can and fixedcan are found"   << endl);
 
  127     copy(buffer, header);
 
  130     FATAL(error << endl);
 
  141       track->pos += offset;
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse command line options.
virtual bool hasNext() override
Check availability of next element.
virtual const pointer_type & next() override
Get next element.
double getTime(const Hit &hit)
Get true time of hit.
void copy(const Head &from, JHead &to)
Copy header from from to to.
std::string getGITVersion(const std::string &tag)
Get GIT version for given GIT tag.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
const char * getDate()
Get current local date conform ISO-8601 standard.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...
std::string time
processing time
std::string date
processing date
std::string program
program name
std::string version
program version
Generator for simulation.
Auxiliary class for defining the range of iterations of objects.
The Vec class is a straightforward 3-d vector, which also works in pyroot.