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< 5, JArgument_t > Class Template Reference

Template specialisation of transformer of the 5D probability density function (PDF) of the time response of a PMT due to an EM shower. More...

#include <JPDFTransformer.hh>

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

Public Types

typedef JPDFTransformer
< 4, JArgument_t > 
JFunction4DTransformer_t
 
typedef JMultiMapTransformer
< 5, 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...
 
template<class T >
 JPDFTransformer (const double ln, const int alpha, const double kmin, const double kmax, const JGeant_t &geant, const double bmin, T pmt, const double amin)
 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

JFunction4DTransformer_t transformer
 

Detailed Description

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

Template specialisation of transformer of the 5D probability density function (PDF) of the time response of a PMT due to an EM shower.

PDFs are evaluated by interpolation for:

  1. energy of the EM shower
  2. distance between EM shower and PMT [m]
  3. cosine angle EM shower direction and EM shower - PMT position
  4. zenith angle of the PMT
  5. azimuthal angle of the PMT
  6. arrival time [ns]

The evaluation of the weights is based on:

  1. energy of the EM shower
  2. effective attenuation length
  3. emission profile of the photons
  4. angular acceptance of PMT

Definition at line 1148 of file JPDFTransformer.hh.

Member Typedef Documentation

template<class JArgument_t >
typedef JPDFTransformer<4, JArgument_t> JPHYSICS::JPDFTransformer< 5, JArgument_t >::JFunction4DTransformer_t

Definition at line 1153 of file JPDFTransformer.hh.

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

Definition at line 1154 of file JPDFTransformer.hh.

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

Definition at line 1156 of file JPDFTransformer.hh.

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

Definition at line 1157 of file JPDFTransformer.hh.

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

Definition at line 1158 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< 5, JArgument_t >::JPDFTransformer ( )
inline

Default constructor.

Definition at line 1164 of file JPDFTransformer.hh.

1164  :
1165  transformer()
1166  {}
template<class JArgument_t >
template<class T >
JPHYSICS::JPDFTransformer< 5, JArgument_t >::JPDFTransformer ( const double  ln,
const int  alpha,
const double  kmin,
const double  kmax,
const JGeant_t geant,
const double  bmin,
T  pmt,
const double  amin 
)
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
pmtFunction angular acceptance of PMT
aminBaseline angular acceptance of PMT

Definition at line 1183 of file JPDFTransformer.hh.

1190  :
1191  transformer(ln, alpha, kmin, kmax, geant, bmin, pmt, amin)
1192  {}
esac $JPP_DIR examples JDetector JTransitTime o $OUTPUT_FILE n N $NPE T $TTS_NS d $DEBUG for HISTOGRAM in tts tt2 pmt
Definition: JTransitTime.sh:36

Member Function Documentation

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

Clone object.

Returns
pointer to newly created transformer

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

Definition at line 1200 of file JPDFTransformer.hh.

1201  {
1202  return new JPDFTransformer(*this);
1203  }
template<class JArgument_t >
virtual argument_type JPHYSICS::JPDFTransformer< 5, JArgument_t >::putXn ( const_array_type buffer,
const argument_type  xn 
) const
inlinevirtual

Evaluate arrival time.

Parameters
buffer{E_GeV, D_m, cd, theta, phi}
xnold t_ns
Returns
new t_ns

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 1213 of file JPDFTransformer.hh.

1214  {
1215  return transformer.putXn(buffer.pop_front(), xn);
1216  }
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< 5, JArgument_t >::getXn ( const_array_type buffer,
const argument_type  xn 
) const
inlinevirtual

Evaluate arrival time.

Parameters
buffer{E_GeV, D_m, cd, theta, phi}
xnold t_ns
Returns
new t_ns

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 1226 of file JPDFTransformer.hh.

1227  {
1228  return transformer.getXn(buffer.pop_front(), xn);
1229  }
virtual argument_type getXn(const_array_type &buffer, const argument_type xn) const
Evaluate arrival time.
template<class JArgument_t >
virtual double JPHYSICS::JPDFTransformer< 5, JArgument_t >::getWeight ( const_array_type buffer) const
inlinevirtual

Weight function.

Parameters
buffer{E_GeV, D_m, cd, theta, phi}
Returns
weight

Implements JTOOLS::JMultiMapTransformer< N, JArgument_t >.

Definition at line 1238 of file JPDFTransformer.hh.

1239  {
1240  const double E = buffer[0];
1241 
1242  return transformer.getWeight(buffer.pop_front()) / E;
1243  }
virtual double getWeight(const_array_type &buffer) const
Weight function.
then usage $script[input file[working directory[option]]] nWhere option can be E
Definition: JMuonPostfit.sh:37
template<class JArgument_t >
virtual JReader& JPHYSICS::JPDFTransformer< 5, JArgument_t >::read ( JReader in)
inlinevirtual

Read PDF transformer from input.

Parameters
inreader
Returns
reader

Implements JIO::JSerialisable.

Definition at line 1252 of file JPDFTransformer.hh.

1253  {
1254  in >> transformer;
1255 
1256  return in;
1257  }
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
template<class JArgument_t >
virtual JWriter& JPHYSICS::JPDFTransformer< 5, JArgument_t >::write ( JWriter out) const
inlinevirtual

Write PDF transformer to output.

Parameters
outwriter
Returns
writer

Implements JIO::JSerialisable.

Definition at line 1266 of file JPDFTransformer.hh.

1267  {
1268  out << transformer;
1269 
1270  return out;
1271  }
template<class JArgument_t >
std::ostream& JPHYSICS::JPDFTransformer< 5, JArgument_t >::print ( std::ostream &  out) const
inline

Print PDF transfomer to output stream.

Parameters
outoutput stream
Returns
output stream

Definition at line 1280 of file JPDFTransformer.hh.

1281  {
1282  return transformer.print(out);
1283  }
std::ostream & print(std::ostream &out) const
Print PDF transfomer 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 >
JFunction4DTransformer_t JPHYSICS::JPDFTransformer< 5, JArgument_t >::transformer

Definition at line 1285 of file JPDFTransformer.hh.


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