1 #ifndef __JSIRENE__JSIRENETOOLKIT__ 
    2 #define __JSIRENE__JSIRENETOOLKIT__ 
   31 namespace JPP { 
using namespace JSIRENE; }
 
   77       ns.resize(npe.size());
 
   78       vs.resize(npe.size());
 
   85         for (
size_t i = 1; i != npe.size(); ++i) {
 
   87           vs[i] = 
vs[i-1] + npe[i];
 
   90         for (
int i = N; i != 0; --i) {
 
   92           const double x = gRandom->Rndm() * NPE;
 
   94           if (x < *
vs.rbegin()) {
 
  101         for (
size_t i = 0; i != npe.size(); ++i) {
 
  102           ns[i] = gRandom->Poisson(npe[i]);
 
  120     inline size_t operator()(
const size_t npe)
 const 
  122       static const size_t NPE = 20;
 
  126         const size_t n = (size_t) (NPE * 
log10((
double) npe / (
double) NPE));
 
  153     using namespace JAANET;
 
  154     using namespace JPHYSICS;
 
  266     double getE(
const double z)
 const 
  268        if (!this->empty()) {
 
  272         if (p != this->end() && p != this->begin()) {
 
  276           return p->getE() -  (z - p->getZ()) * 
gWater.
getA();
 
  294       const double precision = 1.0e-2;
 
  296       if (!this->empty()) {
 
  300         if (p == this->end()) { 
 
  304         if (p == this->begin()) {
 
  313           pos  = p->getPosition();
 
  317           pos -= p->getPosition();
 
  319           const double u = (pos.getZ() > precision ? (z - p->getZ()) / pos.getZ() : 0.0);
 
  321           return JVector2D(p->getX() + u * pos.getX(),
 
  322                            p->getY() + u * pos.getY());
 
  385       if (__E > Ethreshold)
 
  386         return (__E - Ethreshold) / 
a;
 
  442       __x += this->getDX() * ds;
 
  443       __y += this->getDY() * ds;
 
  444       __z += this->getDZ() * ds;
 
  461       __x += this->getDX() * ds;
 
  462       __y += this->getDY() * ds;
 
  463       __z += this->getDZ() * ds;
 
  465       __E  = geane(__E, ds);
 
Data structure for vector in two dimensions. 
 
JHitType_t
Enumeration of hit types based on km3 codes. 
 
Scattered light from primary shower. 
 
Point along muon trajectory. 
 
double getE() const 
Get muon energy. 
 
JVertex & step(const double ds)
Step using default ionisation energy loss. 
 
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member. 
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
 
double getRange(double a) const 
Get visible range of muon using given ionisation energy loss. 
 
Direct light from delta-rays. 
 
Scattered light from muon. 
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance. 
 
scattered light from EM shower 
 
JHitType_t getHitType(const JPDFType_t pdf, const bool shower=false)
Get hit type corresponding to given PDF type. 
 
static const double MASS_MUON
muon mass [GeV] 
 
Scattered light from Bremsstrahlung. 
 
JTrack(const JPoint &point)
Constructor. 
 
static const JGeaneWater gWater
Function object for energy loss of muon in sea water. 
 
Direct light from Bremsstrahlung. 
 
Direct light from primary shower. 
 
JVersor3Z & add(const JVersor3Z &value)
Addition operator. 
 
JVertex & step(const double a, const double ds)
Step using given ionisation energy loss. 
 
JPoint()
Default constructor. 
 
JVertex()
Default constructor. 
 
JVertex(const double z, const double t, const double E)
Constructor. 
 
Numbering scheme for PDF types. 
 
JVertex & step(const JGeane &geane, const double ds)
Step using given energy loss function. 
 
scattered light from muon 
 
set_variable E_E log10(E_{fit}/E_{#mu})"
 
double getE(const double z) const 
Get muon energy at given position along trajectory. 
 
scattered light from delta-rays 
 
direct light from EM shower 
 
Interface for muon energy loss. 
 
double getRange(const JGeane &geane) const 
Get range of muon using given energy loss function. 
 
double getEs() const 
Get shower energy. 
 
Vertex of energy loss of muon. 
 
direct light from delta-rays 
 
void applyEloss(const JVersor3Z &Ts, const double Es)
Apply shower energy loss. 
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
 
const double getSpeedOfLight()
Get speed of light. 
 
JVector2D getPosition(const double z) const 
Get muon position at given position along trajectory. 
 
Scattered light from delta-rays. 
 
struct JSIRENE::@62 getNumberOfPhotoElectrons
Auxiliary data structure for determination of number of photo-electrons. 
 
Data structure for position in three dimensions. 
 
JPoint(const double z, const double t, const double E)
Constructor. 
 
double getRange() const 
Get visible range of muon using default ionisation energy loss. 
 
Data structure for normalised vector in positive z-direction. 
 
double getZ() const 
Get z position. 
 
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity. 
 
virtual double getA() const override
Get energy loss constant.