Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JOSCPROB::JBaselineComputer Struct Referencefinal

Auxiliary data structure for storing and calculating baselines. More...

#include <JBaselineComputer.hh>

Inheritance diagram for JOSCPROB::JBaselineComputer:
JOSCPROB::JBaselineComputerInterface JIO::JSerialisable

Public Member Functions

 JBaselineComputer ()
 Default constructor.
 
 JBaselineComputer (const double Lmin, const double Lmax)
 Constructor.
 
double getMinimumBaseline () const
 Get minimum baseline.
 
double getMaximumBaseline () const
 Get maximum baseline.
 
double getInnerRadius () const
 Get inner radius.
 
double getOuterRadius () const
 Get outer radius.
 
double getCosth (const double L) const override final
 Get cosine zenith angle for a given baseline.
 
double getBaseline (const double costh) const override final
 Get baseline for a given cosine zenith angle.
 
double operator() (const double costh) const
 Get baseline for a given cosine zenith angle.
 
JReaderread (JReader &in) override final
 Binary stream input of baseline extrema.
 
JWriterwrite (JWriter &out) const override final
 Binary stream output of oscillation parameters.
 

Protected Attributes

double Lmin
 Minimum baseline [km].
 
double Lmax
 Maximum baseline [km].
 

Friends

std::istream & operator>> (std::istream &in, JBaselineComputer &object)
 Stream input of baseline calculator.
 
std::ostream & operator<< (std::ostream &out, const JBaselineComputer &object)
 Stream output of baseline calculator.
 

Detailed Description

Auxiliary data structure for storing and calculating baselines.

Definition at line 31 of file JBaselineComputer.hh.

Constructor & Destructor Documentation

◆ JBaselineComputer() [1/2]

JOSCPROB::JBaselineComputer::JBaselineComputer ( )
inline

Default constructor.

Definition at line 38 of file JBaselineComputer.hh.

38 :
39 Lmin(0.0),
40 Lmax(0.0)
41 {}
double Lmax
Maximum baseline [km].
double Lmin
Minimum baseline [km].

◆ JBaselineComputer() [2/2]

JOSCPROB::JBaselineComputer::JBaselineComputer ( const double Lmin,
const double Lmax )
inline

Constructor.

Parameters
LminMinimum baseline [km]
LmaxMaximum baseline [km]

Definition at line 50 of file JBaselineComputer.hh.

51 :
52 Lmin(Lmin),
53 Lmax(Lmax)
54 {}

Member Function Documentation

◆ getMinimumBaseline()

double JOSCPROB::JBaselineComputer::getMinimumBaseline ( ) const
inline

Get minimum baseline.

Returns
maximum baseline [km]

Definition at line 62 of file JBaselineComputer.hh.

63 {
64 return Lmin;
65 }

◆ getMaximumBaseline()

double JOSCPROB::JBaselineComputer::getMaximumBaseline ( ) const
inline

Get maximum baseline.

Returns
maximum baseline [km]

Definition at line 73 of file JBaselineComputer.hh.

74 {
75 return Lmax;
76 }

◆ getInnerRadius()

double JOSCPROB::JBaselineComputer::getInnerRadius ( ) const
inline

Get inner radius.

Returns
inner radius [km]

Definition at line 84 of file JBaselineComputer.hh.

85 {
86 return 0.5 * (Lmax - Lmin);
87 }

◆ getOuterRadius()

double JOSCPROB::JBaselineComputer::getOuterRadius ( ) const
inline

Get outer radius.

Returns
outer radius [km]

Definition at line 95 of file JBaselineComputer.hh.

96 {
97 return 0.5 * (Lmax + Lmin);;
98 }

◆ getCosth()

double JOSCPROB::JBaselineComputer::getCosth ( const double L) const
inlinefinaloverridevirtual

Get cosine zenith angle for a given baseline.

Parameters
Lbaseline [km]
Returns
cosine zenith angle

Implements JOSCPROB::JBaselineComputerInterface.

Definition at line 107 of file JBaselineComputer.hh.

108 {
109 const double r = getInnerRadius();
110 const double R = getOuterRadius();
111
112 return (R*R - r*r - L*L) / (2*L*r);
113 }
double getInnerRadius() const
Get inner radius.
double getOuterRadius() const
Get outer radius.

◆ getBaseline()

double JOSCPROB::JBaselineComputer::getBaseline ( const double costh) const
inlinefinaloverridevirtual

Get baseline for a given cosine zenith angle.

Parameters
costhcosine zenith angle
Returns
baseline [km]

Implements JOSCPROB::JBaselineComputerInterface.

Definition at line 122 of file JBaselineComputer.hh.

123 {
124 const double r = getInnerRadius();
125 const double R = getOuterRadius();
126
127 const double ct = (fabs(costh) < 1.0 ? costh : (costh < 0 ? -1.0 : 1.0));
128
129 return (-r * ct + sqrt(R*R - r*r * (1 - ct) * (1 + ct)));
130 }

◆ operator()()

double JOSCPROB::JBaselineComputer::operator() ( const double costh) const
inline

Get baseline for a given cosine zenith angle.

Parameters
costhcosine zenith angle
Returns
baseline [km]

Definition at line 139 of file JBaselineComputer.hh.

140 {
141 return getBaseline(costh);
142 }
double getBaseline(const double costh) const override final
Get baseline for a given cosine zenith angle.

◆ read()

JReader & JOSCPROB::JBaselineComputer::read ( JReader & in)
inlinefinaloverridevirtual

Binary stream input of baseline extrema.

Parameters
ininput stream
Returns
input stream

Implements JIO::JSerialisable.

Definition at line 151 of file JBaselineComputer.hh.

152 {
153 return in >> Lmin >> Lmax;
154 }

◆ write()

JWriter & JOSCPROB::JBaselineComputer::write ( JWriter & out) const
inlinefinaloverridevirtual

Binary stream output of oscillation parameters.

Parameters
outoutput stream
Returns
output stream

Implements JIO::JSerialisable.

Definition at line 163 of file JBaselineComputer.hh.

164 {
165 return out << Lmin << Lmax;
166 }

Friends And Related Symbol Documentation

◆ operator>>

std::istream & operator>> ( std::istream & in,
JBaselineComputer & object )
friend

Stream input of baseline calculator.

Parameters
ininput stream
objectobject
Returns
input stream

Definition at line 176 of file JBaselineComputer.hh.

177 {
178 return in >> object.Lmin >> object.Lmax;
179 }

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const JBaselineComputer & object )
friend

Stream output of baseline calculator.

Parameters
outoutput stream
objectobject
Returns
output stream

Definition at line 189 of file JBaselineComputer.hh.

190 {
191 using namespace JPP;
192
193 return out << FIXED(15,5) << object.Lmin << FIXED(15,5) << object.Lmax;
194 }
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Definition JManip.hh:448

Member Data Documentation

◆ Lmin

double JOSCPROB::JBaselineComputer::Lmin
protected

Minimum baseline [km].

Definition at line 199 of file JBaselineComputer.hh.

◆ Lmax

double JOSCPROB::JBaselineComputer::Lmax
protected

Maximum baseline [km].

Definition at line 200 of file JBaselineComputer.hh.


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