Jpp 21.0.0-rc.1-88-g0130508c4
the software that should make you happy
Loading...
Searching...
No Matches
JCALIBRATE::JTransmittance Struct Reference

Auxiliary data structure to handle transmittance of glass sphere due to sedimentation. More...

#include <JFitK40.hh>

Inheritance diagram for JCALIBRATE::JTransmittance:
JCALIBRATE::JTransmittance_t std::array< JParameter_t, NUMBER_OF_RINGS >

Public Member Functions

 JTransmittance ()
 Default constructor.
 
size_t getN () const
 Get number of fit parameters.
 
double getValue (const double ct, const ring_pair pair) const
 Get weighed contribution of water and glass.
 
const JTransmittance_tgetGradient (const double ct, const ring_pair pair) const
 Get gradient.
 
void reset ()
 Reset.
 
void set (const JTransmittance_t &parameters)
 Set parameters that are free to given values.
 

Static Public Member Functions

static const JTransmittancegetInstance ()
 Get default values.
 

Private Attributes

JTransmittance_t gradient
 

Friends

std::ostream & operator<< (std::ostream &out, const JTransmittance &object)
 Write transmittances to output stream.
 

Detailed Description

Auxiliary data structure to handle transmittance of glass sphere due to sedimentation.

Definition at line 1054 of file JFitK40.hh.

Constructor & Destructor Documentation

◆ JTransmittance()

JCALIBRATE::JTransmittance::JTransmittance ( )
inline

Default constructor.

Definition at line 1060 of file JFitK40.hh.

1061 {}

Member Function Documentation

◆ getInstance()

static const JTransmittance & JCALIBRATE::JTransmittance::getInstance ( )
inlinestatic

Get default values.

Returns
transmittance

Definition at line 1069 of file JFitK40.hh.

1070 {
1071 static JTransmittance transmittance;
1072
1073 for (int i = 0; i != NUMBER_OF_RINGS; ++i) {
1074 transmittance[i].set(1.0);
1075 }
1076
1077 return transmittance;
1078 }
static const int NUMBER_OF_RINGS
number of rings in optical module.
Definition JFitK40.hh:63
JTransmittance()
Default constructor.
Definition JFitK40.hh:1060

◆ getN()

size_t JCALIBRATE::JTransmittance::getN ( ) const
inline

Get number of fit parameters.

Returns
number of parameters

Definition at line 1086 of file JFitK40.hh.

1087 {
1088 int N = 0;
1089
1090 for (int i = 0; i != NUMBER_OF_RINGS; ++i) {
1091 if ((*this)[i].isFree()) {
1092 N += 1;
1093 }
1094 }
1095
1096 return N;
1097 }

◆ getValue()

double JCALIBRATE::JTransmittance::getValue ( const double ct,
const ring_pair pair ) const
inline

Get weighed contribution of water and glass.

Parameters
ctcosine angle between PMT axes
pairPMT ring pair
Returns
fraction

Definition at line 1107 of file JFitK40.hh.

1108 {
1109 const double w = getWater(ct);
1110
1111 return w * (*this)[pair.first].get() * (*this)[pair.second].get() + (1.0 - w);
1112 }
const JWater getWater
Function object for fraction of water to total.
Definition JFitK40.hh:895

◆ getGradient()

const JTransmittance_t & JCALIBRATE::JTransmittance::getGradient ( const double ct,
const ring_pair pair ) const
inline

Get gradient.

Parameters
ctcosine angle between PMT axes
pairPMT ring pair
Returns
gradient

Definition at line 1122 of file JFitK40.hh.

1123 {
1124 gradient.reset();
1125
1126 const double w = getWater(ct);
1127
1128 gradient[pair.first] += w * (*this)[pair.second].get();
1129 gradient[pair.second] += w * (*this)[pair.first] .get();
1130
1131 return gradient;
1132 }
JTransmittance_t gradient
Definition JFitK40.hh:1154

◆ reset()

void JCALIBRATE::JTransmittance_t::reset ( )
inlineinherited

Reset.

Definition at line 1029 of file JFitK40.hh.

1030 {
1031 for (int i = 0; i != NUMBER_OF_RINGS; ++i) {
1032 (*this)[i].set(0.0);
1033 }
1034 }

◆ set()

void JCALIBRATE::JTransmittance_t::set ( const JTransmittance_t & parameters)
inlineinherited

Set parameters that are free to given values.

Parameters
parametersparameters

Definition at line 1042 of file JFitK40.hh.

1043 {
1044 for (int i = 0; i != NUMBER_OF_RINGS; ++i) {
1045 if ((*this)[i].isFree()) { (*this)[i].set(parameters[i].get()); }
1046 }
1047 }

Friends And Related Symbol Documentation

◆ operator<<

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

Write transmittances to output stream.

Parameters
outoutput stream
objecttransmittances
Returns
output stream

Definition at line 1142 of file JFitK40.hh.

1143 {
1144 using namespace std;
1145
1146 for (int i = 0; i != NUMBER_OF_RINGS; ++i) {
1147 out << "transmittance[" << ring_type::getRing(i) << "] " << object[i].get() << endl;
1148 }
1149
1150 return out;
1151 }
static ring_type getRing(const int index)
Get ring.
Definition JFitK40.hh:941

Member Data Documentation

◆ gradient

JTransmittance_t JCALIBRATE::JTransmittance::gradient
mutableprivate

Definition at line 1154 of file JFitK40.hh.


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