List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
TabularTankResponseNS::TankResponse Class Reference

#include <TankResponse.h>

Inheritance diagram for TabularTankResponseNS::TankResponse:
Inheritance graph
[legend]

Public Types

typedef unsigned long ulong
 

Public Member Functions

virtual double CDF (const double threshold, const double theta, const double r, const ulong muons) const
 Probability of signal begin smaller than smax, given a fixed number of muons. More...
 
virtual double GetRadiusMax () const
 Largest radial distance at which the tank response is defined. More...
 
virtual double GetRadiusMin () const
 Smallest radial distance at which the tank response is defined. More...
 
virtual double GetThetaMax () const
 Largest zenith angle at which the tank response is defined. More...
 
virtual double GetThetaMin () const
 Smallest zenith angle at which the tank response is defined. More...
 
virtual double Mean (const double theta, const double r, const ulong muons) const
 Average signal, given fixed number of muons. More...
 
virtual double PDF (const double signal, const double theta, const double r, const ulong muons) const
 PDF of signal, given a fixed number of muons. More...
 
double PoissonConvolvedCDF (const double sThreshold, const double theta, const double r, const double muons, const bool complement) const
 
void PoissonConvolvedMeanAndStDev (double &mean, double &stDev, const double theta, const double r, const double muons) const
 Mean and standard deviation of signal, given an average number of muons (Poisson convolved). More...
 
double PoissonConvolvedPDF (const double signal, const double theta, const double r, const double muons) const
 PDF of signal, given an average number of muons (Poisson convolved). More...
 
virtual double StDev (const double theta, const double r, const ulong muons) const
 Standard deviation of signal, given fixed number of muons. More...
 

Static Public Member Functions

static TankResponseGetInstance (const utl::Branch branch)
 

Private Member Functions

TankResponseoperator= (const TankResponse &)
 
 return (1.0-z)*v[i]+z *v[i+1]
 
 TankResponse ()
 
 TankResponse (const utl::Branch branch)
 
virtual ~TankResponse ()
 

Private Attributes

double const
 
boost::multi_array
< std::vector< double >, 3 > 
fCdf
 
double fDS
 
double fDX
 
double fDY
 
boost::multi_array< double, 2 > fMean
 
size_t fNX
 
size_t fNY
 
boost::multi_array< double, 2 > fSigma
 
double fSmooth
 
double fX
 
double fY
 
const size_t i = static_cast<size_t>(z)
 
if(signal >=fDS *(v.size()-2))
return utl double 
z = signal/fDS
 
 z = i
 

Detailed Description

2D interpolation of tabulated p.d.f. over uniform grid. Autoconvolution is done once upon initialization. Interpolation of p.d.f.s is done via linear template morphing, see A. Read, NIM A425 (1999) 357.

Definition at line 24 of file Tabular/TankResponse.h.

Member Typedef Documentation

typedef unsigned long tls::VTankResponse::ulong
inherited

Definition at line 28 of file VTankResponse.h.

Constructor & Destructor Documentation

TabularTankResponseNS::TankResponse::TankResponse ( )
inlineprivate

Definition at line 62 of file Tabular/TankResponse.h.

TankResponse::TankResponse ( const utl::Branch  branch)
private
virtual TabularTankResponseNS::TankResponse::~TankResponse ( )
inlineprivatevirtual

Definition at line 65 of file Tabular/TankResponse.h.

Member Function Documentation

double TankResponse::CDF ( const double  smax,
const double  theta,
const double  r,
const ulong  muons 
) const
virtual

Probability of signal begin smaller than smax, given a fixed number of muons.

Implements tls::VTankResponse.

Definition at line 250 of file Tools/InclinedShowers/TankResponse/Tabular/TankResponse.cc.

References utl::m, un2::Mean(), utl::NormalCDF(), utl::s, sqrt(), and Trafo().

TankResponse & TankResponse::GetInstance ( const utl::Branch  branch)
static
virtual double TabularTankResponseNS::TankResponse::GetRadiusMax ( ) const
inlinevirtual

Largest radial distance at which the tank response is defined.

Implements tls::VTankResponse.

Definition at line 59 of file Tabular/TankResponse.h.

References fDY, fY, and std::pow().

virtual double TabularTankResponseNS::TankResponse::GetRadiusMin ( ) const
inlinevirtual

Smallest radial distance at which the tank response is defined.

Implements tls::VTankResponse.

Definition at line 58 of file Tabular/TankResponse.h.

References fY, and std::pow().

virtual double TabularTankResponseNS::TankResponse::GetThetaMax ( ) const
inlinevirtual

Largest zenith angle at which the tank response is defined.

Implements tls::VTankResponse.

Definition at line 56 of file Tabular/TankResponse.h.

References fDX, and fX.

virtual double TabularTankResponseNS::TankResponse::GetThetaMin ( ) const
inlinevirtual

Smallest zenith angle at which the tank response is defined.

Implements tls::VTankResponse.

Definition at line 55 of file Tabular/TankResponse.h.

References fX.

double TankResponse::Mean ( const double  theta,
const double  r,
const ulong  muons 
) const
virtual

Average signal, given fixed number of muons.

Implements tls::VTankResponse.

Definition at line 301 of file Tools/InclinedShowers/TankResponse/Tabular/TankResponse.cc.

References Trafo().

TankResponse& TabularTankResponseNS::TankResponse::operator= ( const TankResponse )
private
double TankResponse::PDF ( const double  signal,
const double  theta,
const double  r,
const ulong  muons 
) const
virtual

PDF of signal, given a fixed number of muons.

Implements tls::VTankResponse.

Definition at line 220 of file Tools/InclinedShowers/TankResponse/Tabular/TankResponse.cc.

References utl::cm, utl::m, un2::Mean(), utl::NormalPDF(), result, and utl::s.

double VTankResponse::PoissonConvolvedCDF ( const double  sThreshold,
const double  theta,
const double  r,
const double  muons,
const bool  complement 
) const
inherited

Probability of signal begin smaller [complement = false] or greater than [complement = true] than sThreshold, given an average number of muons (Poisson convolved).

Definition at line 52 of file VTankResponse.cc.

References G4StationSimulatorOG::p, utl::PoissonPDF(), and precision.

Referenced by SdHorizontalReconstructionNS::ShowerSizeFunction::operator()().

void VTankResponse::PoissonConvolvedMeanAndStDev ( double &  mean,
double &  stDev,
const double  theta,
const double  r,
const double  muons 
) const
inherited

Mean and standard deviation of signal, given an average number of muons (Poisson convolved).

Definition at line 106 of file VTankResponse.cc.

References un2::Mean(), G4StationSimulatorOG::p, utl::PoissonPDF(), precision, and sqrt().

Referenced by SdHorizontalReconstructionNS::ShowerSizeFunction::Predict().

double VTankResponse::PoissonConvolvedPDF ( const double  signal,
const double  theta,
const double  r,
const double  muons 
) const
inherited

PDF of signal, given an average number of muons (Poisson convolved).

Definition at line 16 of file VTankResponse.cc.

References G4StationSimulatorOG::p, utl::PoissonPDF(), and precision.

Referenced by SdHorizontalReconstructionNS::ShowerSizeFunction::operator()().

TabularTankResponseNS::TankResponse::return ( 1.0-  z)
private
double TankResponse::StDev ( const double  theta,
const double  r,
const ulong  muons 
) const
virtual

Standard deviation of signal, given fixed number of muons.

Implements tls::VTankResponse.

Definition at line 319 of file Tools/InclinedShowers/TankResponse/Tabular/TankResponse.cc.

References sqrt(), and Trafo().

Member Data Documentation

double TabularTankResponseNS::TankResponse::const
inlineprivate
Initial value:
{
return 0.0

Definition at line 74 of file Tabular/TankResponse.h.

boost::multi_array<std::vector<double>, 3> TabularTankResponseNS::TankResponse::fCdf
private

Definition at line 92 of file Tabular/TankResponse.h.

double TabularTankResponseNS::TankResponse::fDS
private

Definition at line 89 of file Tabular/TankResponse.h.

double TabularTankResponseNS::TankResponse::fDX
private

Definition at line 86 of file Tabular/TankResponse.h.

Referenced by GetThetaMax().

double TabularTankResponseNS::TankResponse::fDY
private

Definition at line 88 of file Tabular/TankResponse.h.

Referenced by GetRadiusMax().

boost::multi_array<double, 2> TabularTankResponseNS::TankResponse::fMean
private

Definition at line 90 of file Tabular/TankResponse.h.

size_t TabularTankResponseNS::TankResponse::fNX
private

Definition at line 85 of file Tabular/TankResponse.h.

size_t TabularTankResponseNS::TankResponse::fNY
private

Definition at line 87 of file Tabular/TankResponse.h.

boost::multi_array<double, 2> TabularTankResponseNS::TankResponse::fSigma
private

Definition at line 91 of file Tabular/TankResponse.h.

double TabularTankResponseNS::TankResponse::fSmooth
private

Definition at line 93 of file Tabular/TankResponse.h.

double TabularTankResponseNS::TankResponse::fX
private

Definition at line 86 of file Tabular/TankResponse.h.

Referenced by GetThetaMax(), and GetThetaMin().

double TabularTankResponseNS::TankResponse::fY
private

Definition at line 88 of file Tabular/TankResponse.h.

Referenced by GetRadiusMax(), and GetRadiusMin().

const size_t TabularTankResponseNS::TankResponse::i = static_cast<size_t>(z)
private

Definition at line 80 of file Tabular/TankResponse.h.

if (signal >= fDS*(v.size()-2)) return utl double TabularTankResponseNS::TankResponse::z = signal/fDS
private

Definition at line 79 of file Tabular/TankResponse.h.

TabularTankResponseNS::TankResponse::z = i
private

Definition at line 81 of file Tabular/TankResponse.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.