#include #include #include #include #include "TROOT.h" #include "TFile.h" #include "km3net-dataformat/offline/Head.hh" #include "km3net-dataformat/offline/MultiHead.hh" #include "km3net-dataformat/offline/Evt.hh" #include "km3net-dataformat/definitions/trkmembers.hh" #include "JSupport/JFileRecorder.hh" #include "JSupport/JSupport.hh" #include "Jeep/JParser.hh" #include "Jeep/JMessage.hh" /** * \file * * Auxiliary program to generate particles. * \author mdejong */ int main(int argc, char **argv) { using namespace std; using namespace JPP; Trk trk; JFileRecorder outputFile; size_t numberOfEvents; int debug; try { JParser<> zap("Auxiliary program to generate particles."); zap['o'] = make_field(outputFile) = "gedanken.root"; zap['n'] = make_field(numberOfEvents) = 1; zap['P'] = make_field(trk.pos, "position"); zap['D'] = make_field(trk.dir, "direction") = Vec(0.0, 0.0, 1.0); zap['E'] = make_field(trk.E, "energy [GeV]"); zap['T'] = make_field(trk.type, "particle type (PDG)"); zap['d'] = make_field(debug) = 2; zap(argc, argv); } catch(const exception& error) { FATAL(error.what() << endl); } trk.dir.normalize(); trk.status = TRK_ST_FINALSTATE; Head header; outputFile.open(); outputFile.put(header); Evt evt; evt.mc_trks.push_back(trk); for (size_t counter = 0; counter != numberOfEvents; ++counter) { STATUS("event: " << setw(10) << counter << '\r'); DEBUG(endl); outputFile.put(evt); } STATUS(endl); outputFile.close(); }