Jpp  18.2.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JOscProbInterface.hh
Go to the documentation of this file.
1 #ifndef __JOSCPROB__JOSCPROBINTERFACE__
2 #define __JOSCPROB__JOSCPROBINTERFACE__
3 
4 
5 #include "JLang/JClonable.hh"
6 
10 
11 
12 /**
13  * \author bjung, mdejong
14  */
15 
16 namespace JOSCPROB {}
17 namespace JPP { using namespace JOSCPROB; }
18 
19 namespace JOSCPROB {
20 
21  using JLANG::JClonable;
22 
23  using JIO::JSerialisable;
24 
25 
26  /**
27  * Low-level interface for oscillation probability calculators.
28  */
30  {
31  public:
32 
33  /**
34  * Default constructor.
35  */
37  {}
38 
39 
40  /**
41  * Virtual destructor.
42  */
44  {}
45 
46 
47  /**
48  * Set oscillation parameters.
49  *
50  * \param parameters oscillation parameters
51  */
52  virtual void set(const JOscParameters& parameters) const = 0 ;
53 
54 
55  /**
56  * Get oscillation probability for a given oscillation channel.
57  *
58  * \param channel oscillation channel
59  * \param E neutrino energy [GeV]
60  * \param costh cosine zenith angle
61  * \return oscillation probability
62  */
63  virtual double operator()(const JOscChannel& channel,
64  const double E,
65  const double costh) const = 0;
66 
67 
68  /**
69  * Get oscillation probability for a given set of oscillation parameters\n
70  * and a given oscillation channel.
71  *
72  * \param channel oscillation channel
73  * \param parameters oscillation parameters
74  * \param E neutrino energy [GeV]
75  * \param costh cosine zenith angle
76  * \return oscillation probability
77  */
78  virtual double operator()(const JOscParameters& parameters,
79  const JOscChannel& channel,
80  const double E,
81  const double costh) const
82  {
83  set(parameters);
84 
85  return (*this)(channel, E, costh);
86  }
87  };
88 }
89 
90 #endif
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
Definition: JMuonPostfit.sh:40
Neutrino oscillation channel.
Definition: JOscChannel.hh:110
virtual double operator()(const JOscChannel &channel, const double E, const double costh) const =0
Get oscillation probability for a given oscillation channel.
Low-level interface for oscillation probability calculators.
Data structure for single set of oscillation parameters.
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
virtual ~JOscProbInterface()
Virtual destructor.
Forward declaration of binary output.
virtual double operator()(const JOscParameters &parameters, const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
Template class for object cloning.
Definition: JClonable.hh:20
virtual void set(const JOscParameters &parameters) const =0
Set oscillation parameters.
JOscProbInterface()
Default constructor.