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;
 
  359         const double cosTmin,
 
  360         const double cosTmax) :
 
  362       cosT(cosTmin, cosTmax)
 
  373       if (
E.getLowerLimit() == 
object.E.getLowerLimit()) {
 
  375         if (
E.getUpperLimit() == 
object.E.getUpperLimit()) {
 
  377           if (cosT.getLowerLimit() == 
object.cosT.getLowerLimit()) {
 
  378             return cosT.getUpperLimit() < 
object.cosT.getUpperLimit();
 
  380             return cosT.getLowerLimit() < 
object.cosT.getLowerLimit();
 
  385           return E.getUpperLimit() < 
object.E.getUpperLimit();
 
  390         return E.getLowerLimit() < 
object.E.getLowerLimit();
 
  403               cosT.equals(
object.cosT));
 
  475       return program < 
object.program;
 
  488       return program == 
object.program;
 
  539       return alpha < 
object.alpha;
 
  550       return (alpha == 
object.alpha);
 
  580       return (zmin == 
object.zmin &&
 
  581               zmax == 
object.zmax &&
 
  616       return (xcenter == 
object.xcenter &&
 
  617               ycenter == 
object.ycenter &&
 
  618               zmin    == 
object.zmin    &&
 
  619               zmax    == 
object.zmax    &&
 
  620               radius  == 
object.radius);
 
  656       return volume < 
object.volume;
 
  667       return (zmin   == 
object.zmin &&
 
  668               zmax   == 
object.zmax &&
 
  670               volume == 
object.volume);
 
  694                        const double z = 0.0)
 
  696       zmin    = (zmin - z) * factor  +  z;
 
  697       zmax    = (zmax - z) * factor  +  z;
 
  699       volume *= factor * factor * factor;
 
  748       return (
x == 
object.
x &&
 
  796       return (primaryFlux == 
object.primaryFlux);
 
  839       return numberOfSeconds < 
object.numberOfSeconds;
 
  850       return ((numberOfSeconds == 0.0 && 
object.numberOfSeconds == 0.0) ||
 
  851               (numberOfSeconds >  0.0 && 
object.numberOfSeconds >  0.0));
 
  863       errorOfSeconds   = sqrt(errorOfSeconds        * errorOfSeconds  +  
 
  864                               object.errorOfSeconds * 
object.errorOfSeconds);
 
  877       numberOfSeconds /= (factor * factor);
 
  878       errorOfSeconds  /= (factor * factor);
 
  913       return type < 
object.type;
 
  924       return type == 
object.type;
 
  955       return (z == 
object.z);
 
  983       return (z == 
object.z);
 
 1065       return this->numberOfSeconds == 
object.numberOfSeconds;
 
 1094       return (this->t1 == 
object.t1 && this->t2 == 
object.t2);
 
 1123       return type < 
object.type;
 
 1134       return (type == 
object.type);
 
 1186       copy(header, *
this);
 
 1204       return static_cast<const JHead&
>(*this);
 
 1215       return static_cast<JHead&
>(*this);
 
 1226       static_cast<JHead&
>(*this) = header;
 
 1253       return (this->pull(pd) != this->end());
 
 1268       static const T value;
 
 1270       return (
object.
less(value) || value.less(
object));
 
 1330       if (p != this->end()) {
 
 1331         static_cast<Head*
>(
this)->erase(p);
 
 1344 #define IF_MATCH(A, B, C, D)            \ 
 1345       if (match(B,C,D)) { A.push(D);  } \ 
 1346       else              { A.erase(D); } 
 1391       const JHead head = getMatch(header);
 
 1405       return getNumberOfMatches(header) == getNumberOfMatches(*
this);
 
 1417 #define RETURN_IF_DIFFERENT(A, B)       \ 
 1418       if (less(A,B)) { return true;  }  \ 
 1419       if (less(B,A)) { return false; }  
 1449 #undef RETURN_IF_DIFFERENT 
 1461       if (
match(header)) {
 
 1490                                   const JHead& second)
 
 1492       return first.
match(second);
 
 1504                                  const JHead& second)
 
 1506       return first.
less(second);
 
 1547       static JHead header;
 
 1581       getEquationParameters() = equation;
 
 1591     std::istream& 
read(std::istream& 
in);
 
 1600     std::ostream& 
write(std::ostream& out) 
const;
 
 1609     std::ostream& 
print(std::ostream& out) 
const;
 
 1626       return first.less(second);
 
 1641       return first.match(second);
 
 1657       if (first.size() == second.size()) {
 
 1659         for (
size_t i = 0; i != first.size(); ++i) {
 
 1660           if (
less(first[i], second[i])) {
 
 1669         return first.size() < second.size();
 
 1686       for (
size_t i = 0; i != first.size() && i != second.size(); ++i) {
 
 1687         if (!
match(first[i], second[i])) {
 
 1692       return first.size() == second.size();
 
 1706                              const JHead& second,
 
 1711               match(first.*pd, second.*pd));
 
 1758   return header.
read(in);
 
 1771   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. 
 
JAANET::genhencut genhencut
 
static const size_t getMaximumNumberOfMatches()
Get maximum number of matching header fields. 
 
Phase space of incident neutrino. 
 
static bool is_valid(const T &object)
Check validity of given data member in JHead. 
 
JHead getMatch(const JHead &header) const 
Get matching fields. 
 
livetime & mul(const double factor)
Scale. 
 
bool less(const String &object) const 
Comparison. 
 
std::vector< JAANET::flux > flux
 
genvol & mul(const double factor, const double z=0.0)
Scale. 
 
double volume
Volume [m^3]. 
 
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary. 
 
double t1
Start time in seconds. 
 
bool match(const tgen &object) const 
Test match. 
 
seabottom()
Default constructor. 
 
livetime & add(const livetime &object)
Addition. 
 
friend bool operator<(const JHead &first, const JHead &second)
Less than operator. 
 
bool less(const DAQ &object) const 
Comparison. 
 
void setHeader(const JHead &header)
Set header. 
 
friend std::istream & operator>>(std::istream &in, String &object)
Read string from input stream. 
 
#define RETURN_IF_DIFFERENT(A, B)
 
const JHead & getHeader() const 
Get header. 
 
Phase space of incoming particle. 
 
Generator for simulation. 
 
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. 
 
Phase space for incident neutrino. 
 
double numberOfEvents
Number of events. 
 
bool less(const generator &object) const 
Comparison. 
 
static bool less(const T &first, const T &second)
Comparison. 
 
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. 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
 
double t2
Stop time in seconds. 
 
livetime()
Default constructor. 
 
Normlisation of CORSIKA events. 
 
JAANET::cut_primary cut_primary
 
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
 
std::vector< JAANET::physics > physics
 
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]. 
 
static void setEquationParameters(const JLANG::JEquationParameters &equation)
Set equation parameters. 
 
bool match(const time_interval &object) const 
Test match. 
 
bool match(const JHead &header) const 
Test match of headers. 
 
std::vector< JAANET::simul > simul
 
double livetime_s
Live time [s]. 
 
JHead & add(const JHead &header)
Addition of headers. 
 
genhencut()
Default constructor. 
 
JRange_t()
Default constructor. 
 
General purpose class of phase space generation. 
 
bool match(const spectrum &object) const 
Test match. 
 
void createUUID()
Create UUID if not already set. 
 
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. 
 
double ycenter
y-center [m] 
 
genvol & add(const genvol &object)
Addition. 
 
spectrum()
Default constructor. 
 
JAANET::end_event end_event
 
bool less(const JHead &header) const 
Comparison of headers. 
 
JAANET::fixedcan fixedcan
 
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. 
 
void push(T JHead::*pd)
Push given data member to Head. 
 
Type definition of range. 
 
bool match(const fixedcan &object) const 
Test match. 
 
JAANET::cut_seamuon cut_seamuon
 
generator()
Default constructor. 
 
double numberOfPrimaries
Number of primaries. 
 
JAANET::livetime livetime
 
static JLANG::JEquationParameters & getEquationParameters()
Get equation parameters corresponding to Monte Carlo ASCII format, i.e: 
 
JHead()
Default constructor. 
 
flux()
Default constructor. 
 
cut(const double Emin, const double Emax, const double cosTmin, const double cosTmax)
Constructor. 
 
std::istream & read(std::istream &in)
Read header from input. 
 
bool less(const primary &object) const 
Comparison. 
 
cut(const JRange_t &_E, const JRange_t &_cosT)
Constructor. 
 
void erase(T JHead::*pd)
Reset and remove given data member from Head. 
 
JAANET::seabottom seabottom
 
bool less(const flux &object) const 
Comparison. 
 
cut()
Default constructor. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
friend std::ostream & operator<<(std::ostream &out, const String &object)
Write string to output stream. 
 
JAANET::start_run start_run
 
bool match(const depth &object) const 
Test match. 
 
friend bool operator==(const JHead &first, const JHead &second)
Equal operator. 
 
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. 
 
JAANET::spectrum spectrum
 
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. 
 
JRange_t cosT
Cosine zenith angle range. 
 
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 ...
 
can()
Default constructor. 
 
JAANET::time_interval time_interval
 
size_t getNumberOfMatches(const JHead &header) const 
Get number of matching fields. 
 
static bool match(const std::vector< T > &first, const std::vector< T > &second)
Test is containers match. 
 
JAANET::muon_desc_file muon_desc_file
 
#define ClassDef(name, version)
 
norma()
Default constructor. 
 
virtual ~JHead()
Virtual destructor. 
 
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. 
 
std::vector< JAANET::detector > detector
 
Normalisation of MUPAGE events. 
 
static bool match(const JHead &first, const JHead &second, T JHead::*pd)
Test match of given data member of headers. 
 
bool less(const genvol &object) const 
Comparison. 
 
bool match(const seabottom &object) const 
Test match. 
 
detector()
Default constructor. 
 
Auxiliary class to define a range between two values. 
 
iterator pull(T JHead::*pd)
Pull given data member from Head. 
 
std::string date
processing date 
 
bool write(const Vec &v, std::ostream &os)
Write a Vec(tor) to a stream. 
 
primary()
Default constructor. 
 
JHead & getHeader()
Get header. 
 
static bool less(const std::vector< T > &first, const std::vector< T > &second)
Comparison of containers. 
 
bool less(const cut &object) const 
Comparison. 
 
General purpose string class. 
 
start_run()
Default constructor. 
 
double primaryFlux
Primary flux. 
 
bool match(const DAQ &object) const 
Test match. 
 
void copy(const Head &from, JHead &to)
Copy header from from to to. 
 
fixedcan()
Default constructor. 
 
The fixed cylinder used for photon tracking. 
 
static bool match(const T &first, const T &second)
Test match. 
 
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. 
 
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. 
 
JAANET::coord_origin coord_origin
 
static const char AANET_TAG_SEPARATOR
Separator for tag extension of multiple tags in Head ("_<counter>"). 
 
bool is_valid(T JHead::*pd) const 
Check validity of given data member in JHead. 
 
JAANET::XSecFile XSecFile
 
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
 
double numberOfSeconds
Live time [s]. 
 
bool match(const primary &object) const 
Test match. 
 
Vec coord_origin() const 
Get coordinate origin. 
 
JHead(const Head &header)
Copy constructor. 
 
friend std::ostream & operator<<(std::ostream &out, const detector &object)
Write detector to output stream. 
 
bool match(const String &object) const 
Test match. 
 
Neutrino energy spectrum. 
 
std::ostream & write(std::ostream &out) const 
Write header to output. 
 
String()
Default constructor. 
 
const_iterator pull(T JHead::*pd) const 
Pull given data member from Head. 
 
The cylinder used for photon tracking. 
 
std::string file_1
File name. 
 
coord_origin()
Default constructor.