1#ifndef __JAANET__JVOLUME__
2#define __JAANET__JVOLUME__
37 const bool Elog10 =
false) :
43 const JHead buffer(head);
115 inline Double_t
getX(
const Double_t
E,
double constrain =
false)
const
117 double x = (
elog ? log10(
E) :
E);
138 inline Double_t
getE(
const Double_t x,
double constrain =
false)
const
140 const double Ex = (
elog ? pow(10.0, x) : x);
156 inline Double_t
getW(TAxis* axis,
const Double_t
E)
const
158 const Int_t index = axis->FindBin(
getX(
E));
160 const Double_t xmin = axis->GetBinLowEdge(index);
161 const Double_t xmax = axis->GetBinUpEdge (index);
163 const Double_t Wmin =
getW(
getE(xmin));
164 const Double_t Wmax =
getW(
getE(xmax));
166 return Wall / (Wmax - Wmin);
176 inline double getW(
const double E)
const
Auxiliary class to define a range between two values.
JAANET::spectrum spectrum
JAANET::livetime livetime
bool is_valid(T JHead::*pd) const
Check validity of given data member in JHead.
Extensions to Evt data format.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...
Auxiliary class for histogramming of effective volume.
bool elog
histogram option
Double_t getE(const Double_t x, double constrain=false) const
Get energy.
double getAlpha() const
Get spectral index of energy distribution.
JVolume & mul(const double factor)
Multiply weight.
double getW(const double E) const
Get generation dependent integral value of given energy.
double getWall() const
Get generation dependent weight.
double alpha
spectral index
JTOOLS::JRange< double > E
Energy range [GeV].
Double_t getX(const Double_t E, double constrain=false) const
Get abscissa value.
JVolume(const Head &head, const bool Elog10=false)
Constructor.
JVolume & div(const double factor)
Divide weight.
Double_t getW(TAxis *axis, const Double_t E) const
Get bin width corrected energy spectrum dependent weight.
Double_t getXmax() const
Get maximal abscissa value.
double Wall
generation volume
Double_t getXmin() const
Get minimal abscissa value.
JRange_t E
Energy range [GeV].
double numberOfEvents
Number of events.
double volume
Volume [m^3].
double numberOfSeconds
Live time [s].
double alpha
Energy spectrum: .