Jpp  18.2.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
JCALIBRATE::JPMTParameters_t Struct Reference

Fit parameters for single PMT. More...

#include <JFitK40.hh>

Public Member Functions

 JPMTParameters_t ()
 Default constructor. More...
 
void reset ()
 Reset. More...
 
size_t getN () const
 Get number of fit parameters. More...
 
int getIndex (JParameter_t JPMTParameters_t::*p) const
 Get index of parameter. More...
 
void disable ()
 Disable PMT. More...
 
void enable ()
 Enable PMT. More...
 

Static Public Member Functions

static const JPMTParameters_tgetInstance ()
 Get default values. More...
 

Public Attributes

bool status
 status More...
 
JParameter_t QE
 relative quantum efficiency [unit] More...
 
JParameter_t TTS
 transition-time spread [ns] More...
 
JParameter_t t0
 time offset [ns] More...
 

Static Public Attributes

static constexpr double QE_MIN = 0.0
 minimal QE More...
 
static constexpr double QE_MAX = 2.0
 maximal QE More...
 
static constexpr double TTS_NS = 2.0
 start value transition-time spread [ns] More...
 

Friends

std::ostream & operator<< (std::ostream &out, const JPMTParameters_t &object)
 Write PMT parameters to output stream. More...
 

Detailed Description

Fit parameters for single PMT.

Definition at line 422 of file JFitK40.hh.

Constructor & Destructor Documentation

JCALIBRATE::JPMTParameters_t::JPMTParameters_t ( )
inline

Default constructor.

Definition at line 431 of file JFitK40.hh.

432  {
433  reset();
434  }

Member Function Documentation

void JCALIBRATE::JPMTParameters_t::reset ( )
inline

Reset.

Definition at line 440 of file JFitK40.hh.

441  {
442  status = true;
443  QE = 0.0;
444  TTS = 0.0;
445  t0 = 0.0;
446  }
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:552
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:550
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:551
static const JPMTParameters_t& JCALIBRATE::JPMTParameters_t::getInstance ( )
inlinestatic

Get default values.

Returns
parameters

Definition at line 454 of file JFitK40.hh.

455  {
457 
459 
460  parameters.status = true;
461  parameters.QE = 1.0;
462  parameters.TTS = TTS_NS;
463  parameters.t0 = 0.0;
464 
465  return parameters;
466  }
JTOOLS::JRange< double > range_type
Type definition for range of parameter values.
Definition: JFitK40.hh:122
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:552
static constexpr double TTS_NS
start value transition-time spread [ns]
Definition: JFitK40.hh:426
*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
static constexpr double QE_MAX
maximal QE
Definition: JFitK40.hh:425
static constexpr double QE_MIN
minimal QE
Definition: JFitK40.hh:424
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:550
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:551
Fit parameters for single PMT.
Definition: JFitK40.hh:422
size_t JCALIBRATE::JPMTParameters_t::getN ( ) const
inline

Get number of fit parameters.

Returns
number of parameters

Definition at line 474 of file JFitK40.hh.

475  {
476  return ((QE. isFree() ? 1 : 0) +
477  (TTS.isFree() ? 1 : 0) +
478  (t0 .isFree() ? 1 : 0));
479  }
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:552
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:550
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:551
bool isFree() const
Check if parameter is free.
Definition: JFitK40.hh:237
int JCALIBRATE::JPMTParameters_t::getIndex ( JParameter_t JPMTParameters_t::*  p) const
inline

Get index of parameter.

Parameters
ppointer to data member
Returns
index

Definition at line 488 of file JFitK40.hh.

489  {
490  if (!(this->*p).isFree()) {
491  return INVALID_INDEX;
492  }
493 
494  int N = 0;
495 
496  if (p == &JPMTParameters_t::QE ) { return N; }; if (QE .isFree()) { ++N; }
497  if (p == &JPMTParameters_t::TTS) { return N; }; if (TTS.isFree()) { ++N; }
498  if (p == &JPMTParameters_t::t0 ) { return N; }; if (t0 .isFree()) { ++N; }
499 
500  return INVALID_INDEX;
501  }
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:552
static const int INVALID_INDEX
invalid index
Definition: JFitK40.hh:56
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:550
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:551
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
bool isFree() const
Check if parameter is free.
Definition: JFitK40.hh:237
void JCALIBRATE::JPMTParameters_t::disable ( )
inline

Disable PMT.

Definition at line 507 of file JFitK40.hh.

508  {
509  status = false;
510 
511  QE .fix(0.0);
512  TTS.fix(TTS);
513  t0 .fix(0.0);
514  }
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:552
void fix()
Fix current value.
Definition: JFitK40.hh:277
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:550
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:551
void JCALIBRATE::JPMTParameters_t::enable ( )
inline

Enable PMT.

Definition at line 520 of file JFitK40.hh.

521  {
522  status = true;
523 
524  QE .set();
525  TTS.set();
526  t0 .set();
527  }
void set()
Set current value.
Definition: JFitK40.hh:268
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:552
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:550
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:551

Friends And Related Function Documentation

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

Write PMT parameters to output stream.

Parameters
outoutput stream
objectPMT parameters
Returns
output stream

Definition at line 537 of file JFitK40.hh.

538  {
539  using namespace std;
540 
541  out << "QE " << object.QE << endl;
542  out << "TTS " << object.TTS << endl;
543  out << "t0 " << object.t0 << endl;
544 
545  return out;
546  }

Member Data Documentation

constexpr double JCALIBRATE::JPMTParameters_t::QE_MIN = 0.0
static

minimal QE

Definition at line 424 of file JFitK40.hh.

constexpr double JCALIBRATE::JPMTParameters_t::QE_MAX = 2.0
static

maximal QE

Definition at line 425 of file JFitK40.hh.

constexpr double JCALIBRATE::JPMTParameters_t::TTS_NS = 2.0
static

start value transition-time spread [ns]

Definition at line 426 of file JFitK40.hh.

bool JCALIBRATE::JPMTParameters_t::status

status

Definition at line 549 of file JFitK40.hh.

JParameter_t JCALIBRATE::JPMTParameters_t::QE

relative quantum efficiency [unit]

Definition at line 550 of file JFitK40.hh.

JParameter_t JCALIBRATE::JPMTParameters_t::TTS

transition-time spread [ns]

Definition at line 551 of file JFitK40.hh.

JParameter_t JCALIBRATE::JPMTParameters_t::t0

time offset [ns]

Definition at line 552 of file JFitK40.hh.


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