1 #ifndef __JAANET__JHEAD__ 
    2 #define __JAANET__JHEAD__ 
   30 namespace JPP { 
using namespace JAANET; }
 
   60       JTOOLS::
JRange<double>(x, y)
 
  100     if (pos != string::npos) {
 
  102       for (string::size_type 
i = pos + 1; 
i != tag.size(); ++
i) {
 
  103         if (!isdigit(tag[
i])) {
 
  108       return tag.substr(0, pos);
 
  124     std::ostringstream os;
 
  168       return !(*this).less(
object) && !(object).
less(*
this);
 
  181       istringstream i0(
this ->
buffer);
 
  182       istringstream i1(
object.
buffer);
 
  187       copy(istream_iterator<string>(i0), istream_iterator<string>(), back_inserter(v0));
 
  188       copy(istream_iterator<string>(i1), istream_iterator<string>(), back_inserter(v1));
 
  214       return out << 
object.buffer;
 
  242       return this->program == 
object.program && this->filename == 
object.filename; 
 
  256       in >> 
object.program >> 
object.filename;
 
  259         object.filename = 
object.program;
 
  260         object.program  = 
"?";
 
  275       return out << 
object.program << 
' ' << 
object.filename;
 
  372         const double cosTmin,
 
  373         const double cosTmax) :
 
  375       cosT(cosTmin, cosTmax)
 
  386       if (
E.getLowerLimit() == 
object.E.getLowerLimit()) {
 
  388         if (
E.getUpperLimit() == 
object.E.getUpperLimit()) {
 
  390           if (cosT.getLowerLimit() == 
object.cosT.getLowerLimit()) {
 
  391             return cosT.getUpperLimit() < 
object.cosT.getUpperLimit();
 
  393             return cosT.getLowerLimit() < 
object.cosT.getLowerLimit();
 
  398           return E.getUpperLimit() < 
object.E.getUpperLimit();
 
  403         return E.getLowerLimit() < 
object.E.getLowerLimit();
 
  416               cosT.equals(
object.cosT));
 
  488       return program < 
object.program;
 
  501       return program == 
object.program;
 
  552       return alpha < 
object.alpha;
 
  563       return (alpha == 
object.alpha);
 
  593       return (zmin == 
object.zmin &&
 
  594               zmax == 
object.zmax &&
 
  629       return (xcenter == 
object.xcenter &&
 
  630               ycenter == 
object.ycenter &&
 
  631               zmin    == 
object.zmin    &&
 
  632               zmax    == 
object.zmax    &&
 
  633               radius  == 
object.radius);
 
  669       return volume < 
object.volume;
 
  680       return (zmin   == 
object.zmin &&
 
  681               zmax   == 
object.zmax &&
 
  683               volume == 
object.volume);
 
  707                        const double z = 0.0)
 
  709       zmin    = (zmin - z) * factor  +  z;
 
  710       zmax    = (zmax - z) * factor  +  z;
 
  712       volume *= factor * factor * factor;
 
  761       return (
x == 
object.
x &&
 
  809       return (primaryFlux == 
object.primaryFlux);
 
  852       return numberOfSeconds < 
object.numberOfSeconds;
 
  863       return ((numberOfSeconds == 0.0 && 
object.numberOfSeconds == 0.0) ||
 
  864               (numberOfSeconds >  0.0 && 
object.numberOfSeconds >  0.0));
 
  876       errorOfSeconds   = sqrt(errorOfSeconds        * errorOfSeconds  +  
 
  877                               object.errorOfSeconds * 
object.errorOfSeconds);
 
  890       numberOfSeconds /= (factor * factor);
 
  891       errorOfSeconds  /= (factor * factor);
 
  926       return type < 
object.type;
 
  937       return type == 
object.type;
 
  968       return (z == 
object.z);
 
  996       return (z == 
object.z);
 
 1132       return this->numberOfSeconds == 
object.numberOfSeconds;
 
 1161       return (this->t1 == 
object.t1 && this->t2 == 
object.t2);
 
 1190       return type < 
object.type;
 
 1201       return (type == 
object.type);
 
 1254       copy(header, *
this);
 
 1272       return static_cast<const JHead&
>(*this);
 
 1283       return static_cast<JHead&
>(*this);
 
 1294       static_cast<JHead&
>(*this) = header;
 
 1321       return (this->pull(pd) != this->end());
 
 1336       static const T value;
 
 1338       return (
object.
less(value) || value.less(
object));
 
 1398       if (p != this->end()) {
 
 1399         static_cast<Head*
>(
this)->erase(p);
 
 1412 #define IF_MATCH(A, B, C, D)            \ 
 1413       if (match(B,C,D)) { A.push(D);  } \ 
 1414       else              { A.erase(D); } 
 1460       const JHead head = getMatch(header);
 
 1474       return getNumberOfMatches(header) == getNumberOfMatches(*
this);
 
 1486 #define RETURN_IF_DIFFERENT(A, B)       \ 
 1487       if (less(A,B)) { return true;  }  \ 
 1488       if (less(B,A)) { return false; }  
 1519 #undef RETURN_IF_DIFFERENT 
 1531       if (
match(header)) {
 
 1561                                   const JHead& second)
 
 1563       return first.
match(second);
 
 1575                                  const JHead& second)
 
 1577       return first.
less(second);
 
 1620       static JHead header;
 
 1654       getEquationParameters() = equation;
 
 1664     std::istream& 
read(std::istream& 
in);
 
 1673     std::ostream& 
write(std::ostream& out) 
const;
 
 1682     std::ostream& 
print(std::ostream& out) 
const;
 
 1699       return first.less(second);
 
 1714       return first.match(second);
 
 1730       if (first.size() == second.size()) {
 
 1732         for (
size_t i = 0; 
i != first.size(); ++
i) {
 
 1733           if (
less(first[
i], second[i])) {
 
 1742         return first.size() < second.size();
 
 1759       for (
size_t i = 0; 
i != first.size() && 
i != second.size(); ++
i) {
 
 1760         if (!
match(first[
i], second[i])) {
 
 1765       return first.size() == second.size();
 
 1779                              const JHead& second,
 
 1784               match(first.*pd, second.*pd));
 
 1831   return header.
read(in);
 
 1844   return header.
write(out);
 
norma & add(const norma &object)
Addition. 
 
bool match(const cut &object) const 
Test match. 
 
bool match(const detector &object) const 
Test match. 
 
Phase space of incident neutrino. 
 
bool is_valid(T JHead::*pd) const 
Check validity of given data member in JHead. 
 
livetime & mul(const double factor)
Scale. 
 
bool less(const String &object) const 
Comparison. 
 
friend bool operator==(const JHead &first, const JHead &second)
Equal operator. 
 
static const std::string dynamical()
 
genvol & mul(const double factor, const double z=0.0)
Scale. 
 
double volume
Volume [m^3]. 
 
bool less(const K40 &object) const 
Comparison. 
 
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary. 
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
 
const_iterator pull(T JHead::*pd) const 
Pull given data member from Head. 
 
double t1
Start time in seconds. 
 
bool match(const tgen &object) const 
Test match. 
 
seabottom()
Default constructor. 
 
livetime & add(const livetime &object)
Addition. 
 
bool less(const DAQ &object) const 
Comparison. 
 
bool less(const JHead &header) const 
Comparison of headers. 
 
friend std::istream & operator>>(std::istream &in, String &object)
Read string from input stream. 
 
#define RETURN_IF_DIFFERENT(A, B)
 
Phase space of incoming particle. 
 
Generator for simulation. 
 
static bool less(const T &first, const T &second)
Comparison. 
 
bool operator<(const Head &first, const Head &second)
Less than operator. 
 
double alpha
Energy spectrum: . 
 
const TDataMember * getDataMember(const JRootClass &parent, const JRootClass &member)
Get ROOT data member for given parent and member class. 
 
bool is_valid(const json &js)
Check validity of JSon data. 
 
static const std::string statical()
 
Phase space for incident neutrino. 
 
double numberOfEvents
Number of events. 
 
bool less(const generator &object) const 
Comparison. 
 
static bool match(const T &first, const T &second)
Test match. 
 
K40()
Default constructor. 
 
friend std::istream & operator>>(std::istream &in, detector &object)
Read detector from input stream. 
 
std::string program
program name 
 
depth()
Default constructor. 
 
Neutrino cross section file. 
 
JHead & getHeader()
Get header. 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
 
double t2
Stop time in seconds. 
 
JAANET::start_run start_run
 
livetime()
Default constructor. 
 
Normlisation of CORSIKA events. 
 
static void setEquationParameters(const JLANG::JEquationParameters &equation)
Set equation parameters. 
 
double errorOfSeconds
Uncertainty on live time [s]. 
 
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
 
Simple data structure to support I/O of equations (see class JLANG::JEquation). 
 
bool match(const generator &object) const 
Test match. 
 
JRange_t E
Energy range [GeV]. 
 
bool match(const K40 &object) const 
Test match. 
 
bool match(const time_interval &object) const 
Test match. 
 
void erase(T JHead::*pd)
Reset and remove given data member from Head. 
 
double livetime_s
Live time [s]. 
 
genhencut()
Default constructor. 
 
JRange_t()
Default constructor. 
 
General purpose class of phase space generation. 
 
JAANET::time_interval time_interval
 
static bool less(const std::vector< T > &first, const std::vector< T > &second)
Comparison of containers. 
 
bool match(const spectrum &object) const 
Test match. 
 
std::istream & read(std::istream &in)
Read header from input. 
 
DAQ & add(const DAQ &object)
Addition. 
 
bool match(const can &object) const 
Test match. 
 
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
 
Description of Monte Carlo event generation applications. 
 
JAANET::calibration calibration
 
double ycenter
y-center [m] 
 
genvol & add(const genvol &object)
Addition. 
 
size_t getNumberOfMatches(const JHead &header) const 
Get number of matching fields. 
 
std::vector< JAANET::flux > flux
 
virtual ~JHead()
Virtual destructor. 
 
std::vector< JAANET::detector > detector
 
spectrum()
Default constructor. 
 
iterator pull(T JHead::*pd)
Pull given data member from Head. 
 
static const JUUID & rndm()
Generate random UUID. 
 
std::string buffer
General purpose name. 
 
double xcenter
x-center [m] 
 
JRange_t(double x, double y)
Constructor. 
 
bool operator==(Packet const &p, ID const &id)
 
The Vec class is a straightforward 3-d vector, which also works in pyroot. 
 
Type definition of range. 
 
bool match(const fixedcan &object) const 
Test match. 
 
JAANET::coord_origin coord_origin
 
generator()
Default constructor. 
 
double numberOfPrimaries
Number of primaries. 
 
void createUUID()
Create UUID if not already set. 
 
flux()
Default constructor. 
 
cut(const double Emin, const double Emax, const double cosTmin, const double cosTmax)
Constructor. 
 
bool less(const primary &object) const 
Comparison. 
 
cut(const JRange_t &_E, const JRange_t &_cosT)
Constructor. 
 
bool less(const flux &object) const 
Comparison. 
 
cut()
Default constructor. 
 
JHead getMatch(const JHead &header) const 
Get matching fields. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
friend std::ostream & operator<<(std::ostream &out, const String &object)
Write string to output stream. 
 
bool match(const depth &object) const 
Test match. 
 
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line. 
 
std::string version
program version 
 
Time duration of event generation. 
 
std::string file_2
File name. 
 
bool match(const norma &object) const 
Test match. 
 
time_interval()
Default constructor. 
 
bool match(const flux &object) const 
Test match. 
 
DAQ()
Default constructor. 
 
bool is_integer(const std::string &buffer)
Check if string is an integer. 
 
JAANET::seabottom seabottom
 
static bool match(const std::vector< T > &first, const std::vector< T > &second)
Test is containers match. 
 
JRange_t cosT
Cosine zenith angle range. 
 
JHead(const Head &header)
Copy constructor. 
 
JHead & add(const JHead &header)
Addition of headers. 
 
bool match(const livetime &object) const 
Test match. 
 
genvol()
Default constructor. 
 
bool less(const spectrum &object) const 
Comparison. 
 
double Emin
Minimal energy [GeV]. 
 
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...
 
void push(T JHead::*pd)
Push given data member to Head. 
 
can()
Default constructor. 
 
static bool match(const JHead &first, const JHead &second, T JHead::*pd)
Test match of given data member of headers. 
 
#define ClassDef(name, version)
 
norma()
Default constructor. 
 
JAANET::XSecFile XSecFile
 
bool match(const coord_origin &object) const 
Test match. 
 
coord_origin(const double x, const double y, const double z)
Constructor. 
 
bool match(const genvol &object) const 
Test match. 
 
Normalisation of MUPAGE events. 
 
std::vector< JAANET::simul > simul
 
bool less(const genvol &object) const 
Comparison. 
 
static const size_t getMaximumNumberOfMatches()
Get maximum number of matching header fields. 
 
bool match(const seabottom &object) const 
Test match. 
 
detector()
Default constructor. 
 
Auxiliary class to define a range between two values. 
 
std::string date
processing date 
 
bool write(const Vec &v, std::ostream &os)
Write a Vec(tor) to a stream. 
 
primary()
Default constructor. 
 
JAANET::genhencut genhencut
 
friend bool operator<(const JHead &first, const JHead &second)
Less than operator. 
 
void setHeader(const JHead &header)
Set header. 
 
bool less(const cut &object) const 
Comparison. 
 
General purpose string class. 
 
start_run()
Default constructor. 
 
double primaryFlux
Primary flux. 
 
JAANET::spectrum spectrum
 
bool match(const DAQ &object) const 
Test match. 
 
void copy(const Head &from, JHead &to)
Copy header from from to to. 
 
bool match(const JHead &header) const 
Test match of headers. 
 
static JLANG::JEquationParameters & getEquationParameters()
Get equation parameters corresponding to Monte Carlo ASCII format, i.e: 
 
fixedcan()
Default constructor. 
 
The fixed cylinder used for photon tracking. 
 
JAANET::end_event end_event
 
const JHead & getHeader() const 
Get header. 
 
std::ostream & write(std::ostream &out) const 
Write header to output. 
 
bool equals(const JFirst_t &first, const JSecond_t &second, const double precision=std::numeric_limits< double >::min())
Check equality. 
 
#define IF_MATCH(A, B, C, D)
 
bool less(const livetime &object) const 
Comparison. 
 
static bool is_valid(const T &object)
Check validity of given data member in JHead. 
 
JHead()
Default constructor. 
 
JAANET::cut_primary cut_primary
 
UTC time interval for event generation. 
 
end_event()
Default constructor. 
 
Phase space of atmospheric muon generation. 
 
double numberOfSeconds
Time in seconds. 
 
std::string time
processing time 
 
tgen()
Default constructor. 
 
Phase space of primary particle. 
 
static const char AANET_TAG_SEPARATOR
Separator for tag extension of multiple tags in Head ("_<counter>"). 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
std::vector< JAANET::physics > physics
 
double numberOfSeconds
Live time [s]. 
 
bool match(const primary &object) const 
Test match. 
 
JAANET::cut_seamuon cut_seamuon
 
Vec coord_origin() const 
Get coordinate origin. 
 
friend std::ostream & operator<<(std::ostream &out, const detector &object)
Write detector to output stream. 
 
double livetime_s
Live time [s]. 
 
bool match(const String &object) const 
Test match. 
 
Neutrino energy spectrum. 
 
JAANET::muon_desc_file muon_desc_file
 
K40 & add(const K40 &object)
Addition. 
 
String()
Default constructor. 
 
JAANET::fixedcan fixedcan
 
The cylinder used for photon tracking. 
 
std::string file_1
File name. 
 
coord_origin()
Default constructor. 
 
JAANET::livetime livetime