Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
JPHYSICS::JPDFTransformer< 2, JArgument_t > Class Template Reference

Template specialisation of transformer of the 2D probability density function (PDF) of the time response of a PMT due to a bright point. More...

#include <JPDFTransformer.hh>

Inheritance diagram for JPHYSICS::JPDFTransformer< 2, 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

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

Static Public Member Functions

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

Public Attributes

JFunction1DTransformer_t transformer
 

Detailed Description

template<class JArgument_t>
class JPHYSICS::JPDFTransformer< 2, JArgument_t >

Template specialisation of transformer of the 2D probability density function (PDF) of the time response of a PMT due to a bright point.

PDFs are evaluated by interpolation for:

  1. distance between bright point and PMT [m]
  2. cosine PMT angle
  3. arrival time [ns]

The evaluation of the weights is based on:

  1. effective attenuation length

Definition at line 635 of file JPDFTransformer.hh.

Member Typedef Documentation

template<class JArgument_t >
typedef JPD0Transformer_t<JArgument_t> JPHYSICS::JPDFTransformer< 2, JArgument_t >::JFunction1DTransformer_t

Definition at line 640 of file JPDFTransformer.hh.

template<class JArgument_t >
typedef JMultiMapTransformer<2, JArgument_t> JPHYSICS::JPDFTransformer< 2, JArgument_t >::JMultiMapTransformer_t

Definition at line 641 of file JPDFTransformer.hh.

template<class JArgument_t >
typedef JMultiMapTransformer_t::clone_type JPHYSICS::JPDFTransformer< 2, JArgument_t >::clone_type

Definition at line 643 of file JPDFTransformer.hh.

template<class JArgument_t >
typedef JMultiMapTransformer_t::argument_type JPHYSICS::JPDFTransformer< 2, JArgument_t >::argument_type

Definition at line 644 of file JPDFTransformer.hh.

template<class JArgument_t >
typedef JMultiMapTransformer_t::const_array_type JPHYSICS::JPDFTransformer< 2, JArgument_t >::const_array_type

Definition at line 645 of file JPDFTransformer.hh.

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

Definition at line 39 of file JMultiMapTransformer.hh.

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

Definition at line 43 of file JMultiMapTransformer.hh.

Constructor & Destructor Documentation

template<class JArgument_t >
JPHYSICS::JPDFTransformer< 2, JArgument_t >::JPDFTransformer ( )
inline

Default constructor.

Definition at line 651 of file JPDFTransformer.hh.

651  :
652  transformer()
653  {}
template<class JArgument_t >
JPHYSICS::JPDFTransformer< 2, JArgument_t >::JPDFTransformer ( const double  ln,
const int  alpha,
const double  kmin,
const double  kmax 
)
inline

Constructor.

Parameters
lnEffective attenuation length [m]
alphaDistance dependence (power term)
kminMinimal kappa
kmaxMaximal kappa

Definition at line 664 of file JPDFTransformer.hh.

667  :
668  transformer(ln, alpha, kmin, kmax)
669  {}

Member Function Documentation

template<class JArgument_t >
virtual clone_type JPHYSICS::JPDFTransformer< 2, JArgument_t >::clone ( ) const
inlinevirtual

Clone object.

Returns
pointer to newly created transformer

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

Definition at line 677 of file JPDFTransformer.hh.

678  {
679  return new JPDFTransformer(*this);
680  }
template<class JArgument_t >
virtual argument_type JPHYSICS::JPDFTransformer< 2, JArgument_t >::putXn ( const_array_type buffer,
const argument_type  xn 
) const
inlinevirtual

Evaluate arrival time.

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

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 690 of file JPDFTransformer.hh.

691  {
692  return transformer.putXn(buffer, xn);
693  }
virtual argument_type putXn(const_array_type &buffer, const argument_type xn) const
Evaluate arrival time.
template<class JArgument_t >
virtual argument_type JPHYSICS::JPDFTransformer< 2, JArgument_t >::getXn ( const_array_type buffer,
const argument_type  xn 
) const
inlinevirtual

Evaluate arrival time.

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

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 703 of file JPDFTransformer.hh.

704  {
705  return transformer.getXn(buffer, xn);
706  }
virtual argument_type getXn(const_array_type &buffer, const argument_type xn) const
Evaluate arrival time.
template<class JArgument_t >
virtual double JPHYSICS::JPDFTransformer< 2, JArgument_t >::getWeight ( const_array_type buffer) const
inlinevirtual

Weight function.

Parameters
buffer{D_m, ct}
Returns
weight

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 715 of file JPDFTransformer.hh.

716  {
717  return transformer.getWeight(buffer);
718  }
virtual double getWeight(const_array_type &buffer) const
Weight function.
template<class JArgument_t >
virtual JReader& JPHYSICS::JPDFTransformer< 2, JArgument_t >::read ( JReader in)
inlinevirtual

Read PDF transformer from input.

Parameters
inreader
Returns
reader

Implements JIO::JSerialisable.

Definition at line 727 of file JPDFTransformer.hh.

728  {
729  in >> transformer;
730 
731  return in;
732  }
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
template<class JArgument_t >
virtual JWriter& JPHYSICS::JPDFTransformer< 2, JArgument_t >::write ( JWriter out) const
inlinevirtual

Write PDF transformer to output.

Parameters
outwriter
Returns
writer

Implements JIO::JSerialisable.

Definition at line 741 of file JPDFTransformer.hh.

742  {
743  out << transformer;
744 
745  return out;
746  }
template<class JArgument_t >
std::ostream& JPHYSICS::JPDFTransformer< 2, JArgument_t >::print ( std::ostream &  out) const
inline

Print PDF transfomer to output stream.

Parameters
outoutput stream
Returns
output stream

Definition at line 755 of file JPDFTransformer.hh.

756  {
757  return transformer.print(out);
758  }
std::ostream & print(std::ostream &out) const
Print PDF transformer to output stream.
template<unsigned int N, class JArgument_t>
template<class... Args>
double JTOOLS::JMultiMapTransformer< N, JArgument_t >::getWeight ( const argument_type  x,
const Args &...  args 
) const
inlineinherited

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  }
JArray< N, argument_type > array_type
virtual double getWeight(const_array_type &buffer) const =0
Weight function.
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  }
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

template<class JArgument_t >
JFunction1DTransformer_t JPHYSICS::JPDFTransformer< 2, JArgument_t >::transformer

Definition at line 761 of file JPDFTransformer.hh.


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