Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JPHYSICS::JPDGTransformer_t< JArgument_t > Class Template Reference

Transformer for the 2D probability density function (PDF) of the time response of a PMT due to an EM shower. More...

#include <JPDFTransformer.hh>

Inheritance diagram for JPHYSICS::JPDGTransformer_t< JArgument_t >:
JTOOLS::JMultiMapTransformer< N, JArgument_t > JLANG::JClonable< JClonable_t, JDerived_t > JIO::JSerialisable

Public Types

typedef JPD0Transformer_t< JArgument_t > JFunction1DTransformer_t
 
typedef JMultiMapTransformer< 2, JArgument_t > JMultiMapTransformer_t
 
typedef JMultiMapTransformer_t::clone_type clone_type
 
typedef JMultiMapTransformer_t::argument_type argument_type
 
typedef JMultiMapTransformer_t::const_array_type const_array_type
 
typedef JMultiMapTransformer< N, JArgument_t > multimaptransformer_type
 
typedef JArray< N, argument_typearray_type
 

Public Member Functions

 JPDGTransformer_t ()
 Default constructor.
 
 JPDGTransformer_t (const double ln, const int alpha, const double kmin, const double kmax, const JGeant_t &geant, const double bmin)
 Constructor.
 
virtual clone_type clone () const override
 Clone object.
 
virtual argument_type putXn (const_array_type &buffer, const argument_type xn) const override
 Evaluate arrival time.
 
virtual argument_type getXn (const_array_type &buffer, const argument_type xn) const override
 Evaluate arrival time.
 
virtual double getWeight (const_array_type &buffer) const override
 Weight function.
 
virtual JReaderread (JReader &in) override
 Read PDF transformer from input.
 
virtual JWriterwrite (JWriter &out) const override
 Write PDF transformer to output.
 
std::ostream & print (std::ostream &out) const
 Print PDF transformer to output stream.
 
template<class ... Args>
double getWeight (const argument_type x, const Args &...args) const
 Weight function.
 

Static Public Member Functions

static const JMultiMapTransformergetDefaultTransformer ()
 Get default transformer.
 
static JMultiMapTransformergetClone ()
 Get clone of default transformer.
 

Public Attributes

JFunction1DTransformer_t transformer
 
JGeant_t getShowerProbability
 

Detailed Description

template<class JArgument_t>
class JPHYSICS::JPDGTransformer_t< JArgument_t >

Transformer for the 2D probability density function (PDF) of the time response of a PMT due to an EM shower.

PDFs are evaluated by interpolation for:

  1. distance between EM shower and PMT [m]
  2. cosine angle EM shower direction and EM shower - PMT position
  3. arrival time [ns]

The evaluation of the weights is based on:

  1. effective attenuation length
  2. emission profile of the photons

Definition at line 466 of file JPDFTransformer.hh.

Member Typedef Documentation

◆ JFunction1DTransformer_t

template<class JArgument_t >
JPD0Transformer_t<JArgument_t> JPHYSICS::JPDGTransformer_t< JArgument_t >::JFunction1DTransformer_t

Definition at line 471 of file JPDFTransformer.hh.

◆ JMultiMapTransformer_t

template<class JArgument_t >
JMultiMapTransformer<2, JArgument_t> JPHYSICS::JPDGTransformer_t< JArgument_t >::JMultiMapTransformer_t

Definition at line 472 of file JPDFTransformer.hh.

◆ clone_type

template<class JArgument_t >
JMultiMapTransformer_t::clone_type JPHYSICS::JPDGTransformer_t< JArgument_t >::clone_type

Definition at line 474 of file JPDFTransformer.hh.

◆ argument_type

template<class JArgument_t >
JMultiMapTransformer_t::argument_type JPHYSICS::JPDGTransformer_t< JArgument_t >::argument_type

Definition at line 475 of file JPDFTransformer.hh.

◆ const_array_type

template<class JArgument_t >
JMultiMapTransformer_t::const_array_type JPHYSICS::JPDGTransformer_t< JArgument_t >::const_array_type

Definition at line 476 of file JPDFTransformer.hh.

◆ multimaptransformer_type

template<unsigned int N, class JArgument_t >
JMultiMapTransformer<N, JArgument_t> JTOOLS::JMultiMapTransformer< N, JArgument_t >::multimaptransformer_type
inherited

Definition at line 39 of file JMultiMapTransformer.hh.

◆ array_type

template<unsigned int N, class JArgument_t >
JArray<N, argument_type> JTOOLS::JMultiMapTransformer< N, JArgument_t >::array_type
inherited

Definition at line 43 of file JMultiMapTransformer.hh.

Constructor & Destructor Documentation

◆ JPDGTransformer_t() [1/2]

template<class JArgument_t >
JPHYSICS::JPDGTransformer_t< JArgument_t >::JPDGTransformer_t ( )
inline

Default constructor.

Definition at line 484 of file JPDFTransformer.hh.

484 :
485 transformer(),
487 {}
JFunction1DTransformer_t transformer

◆ JPDGTransformer_t() [2/2]

template<class JArgument_t >
JPHYSICS::JPDGTransformer_t< JArgument_t >::JPDGTransformer_t ( const double ln,
const int alpha,
const double kmin,
const double kmax,
const JGeant_t & geant,
const double bmin )
inline

Constructor.

Parameters
lnEffective attenuation length [m]
alphaDistance dependence (power term)
kminMinimal kappa
kmaxMaximal kappa
geantFunction photon emission from EM-shower
bminBaseline photon emission from EM-shower

Definition at line 500 of file JPDFTransformer.hh.

505 :
506 transformer(ln, alpha, kmin, kmax),
508 {
509 getShowerProbability.add(bmin);
510 getShowerProbability.compile();
511 }
static const JGeant geant(geanx, 0.0001)
Function object for the number of photons from EM-shower as a function of emission angle.

Member Function Documentation

◆ clone()

template<class JArgument_t >
virtual clone_type JPHYSICS::JPDGTransformer_t< JArgument_t >::clone ( ) const
inlineoverridevirtual

Clone object.

Returns
pointer to newly created transformer

Reimplemented from JLANG::JClonable< JClonable_t, JDerived_t >.

Definition at line 519 of file JPDFTransformer.hh.

520 {
521 return new JPDGTransformer_t(*this);
522 }
JPDGTransformer_t()
Default constructor.

◆ putXn()

template<class JArgument_t >
virtual argument_type JPHYSICS::JPDGTransformer_t< JArgument_t >::putXn ( const_array_type & buffer,
const argument_type xn ) const
inlineoverridevirtual

Evaluate arrival time.

Parameters
buffer{D_m, cd}
xnold t_ns
Returns
new t_ns

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 532 of file JPDFTransformer.hh.

533 {
534 return transformer.putXn(buffer, xn);
535 }
virtual argument_type putXn(const_array_type &buffer, const argument_type xn) const override
Evaluate arrival time.

◆ getXn()

template<class JArgument_t >
virtual argument_type JPHYSICS::JPDGTransformer_t< JArgument_t >::getXn ( const_array_type & buffer,
const argument_type xn ) const
inlineoverridevirtual

Evaluate arrival time.

Parameters
buffer{D_m, cd}
xnold t_ns
Returns
new t_ns

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 545 of file JPDFTransformer.hh.

546 {
547 return transformer.getXn(buffer, xn);
548 }
virtual argument_type getXn(const_array_type &buffer, const argument_type xn) const override
Evaluate arrival time.

◆ getWeight() [1/2]

template<class JArgument_t >
virtual double JPHYSICS::JPDGTransformer_t< JArgument_t >::getWeight ( const_array_type & buffer) const
inlineoverridevirtual

Weight function.

Parameters
buffer{D_m, cd}
Returns
weight

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 557 of file JPDFTransformer.hh.

558 {
559 using namespace JTOOLS;
560
561 //const double D = buffer[0];
562 const double cd = buffer[1];
563
565 }
virtual double getWeight(const_array_type &buffer) const override
Weight function.
double getIndexOfRefractionPhase()
Get average index of refraction of water corresponding to phase velocity.
Auxiliary classes and methods for multi-dimensional interpolations and histograms.

◆ read()

template<class JArgument_t >
virtual JReader & JPHYSICS::JPDGTransformer_t< JArgument_t >::read ( JReader & in)
inlineoverridevirtual

Read PDF transformer from input.

Parameters
inreader
Returns
reader

Implements JIO::JSerialisable.

Definition at line 574 of file JPDFTransformer.hh.

575 {
576 in >> transformer;
578
579 return in;
580 }

◆ write()

template<class JArgument_t >
virtual JWriter & JPHYSICS::JPDGTransformer_t< JArgument_t >::write ( JWriter & out) const
inlineoverridevirtual

Write PDF transformer to output.

Parameters
outwriter
Returns
writer

Implements JIO::JSerialisable.

Definition at line 589 of file JPDFTransformer.hh.

590 {
591 out << transformer;
593
594 return out;
595 }

◆ print()

template<class JArgument_t >
std::ostream & JPHYSICS::JPDGTransformer_t< JArgument_t >::print ( std::ostream & out) const
inline

Print PDF transformer to output stream.

Parameters
outoutput stream
Returns
output stream

Definition at line 604 of file JPDFTransformer.hh.

605 {
606 return transformer.print(out);
607 }
std::ostream & print(std::ostream &out) const
Print PDF transformer to output stream.

◆ getWeight() [2/2]

template<class JArgument_t >
template<class ... Args>
double JTOOLS::JMultiMapTransformer< N, JArgument_t >::getWeight ( const argument_type x,
const Args &... args ) const
inline

Weight function.

Parameters
xfirst abscissa values
argscomma seperated list of remaining abscissa values
Returns
weight

Definition at line 84 of file JMultiMapTransformer.hh.

85 {
86 return getWeight(array_type(x, args...));
87 }
virtual double getWeight(const_array_type &buffer) const override
Weight function.
JArray< N, argument_type > array_type

◆ getDefaultTransformer()

template<unsigned int N, class JArgument_t >
static const JMultiMapTransformer & JTOOLS::JMultiMapTransformer< N, JArgument_t >::getDefaultTransformer ( )
inlinestaticinherited

Get default transformer.

Returns
default transformer

Definition at line 101 of file JMultiMapTransformer.hh.

102 {
103 static const JMultiMapDefaultTransformer transformer;
104
105 return transformer;
106 }

◆ getClone()

template<unsigned int N, class JArgument_t >
static JMultiMapTransformer * JTOOLS::JMultiMapTransformer< N, JArgument_t >::getClone ( )
inlinestaticinherited

Get clone of default transformer.

Returns
pointer to newly created transformer

Definition at line 114 of file JMultiMapTransformer.hh.

115 {
116 return new JMultiMapDefaultTransformer();
117 }

Member Data Documentation

◆ transformer

template<class JArgument_t >
JFunction1DTransformer_t JPHYSICS::JPDGTransformer_t< JArgument_t >::transformer

Definition at line 610 of file JPDFTransformer.hh.

◆ getShowerProbability

template<class JArgument_t >
JGeant_t JPHYSICS::JPDGTransformer_t< JArgument_t >::getShowerProbability

Definition at line 611 of file JPDFTransformer.hh.


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