Jpp  19.1.0
the software that should make you happy
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...
 
JParameter_t bg
 background [Hz/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 425 of file JFitK40.hh.

Constructor & Destructor Documentation

◆ JPMTParameters_t()

JCALIBRATE::JPMTParameters_t::JPMTParameters_t ( )
inline

Default constructor.

Definition at line 434 of file JFitK40.hh.

435  {
436  reset();
437  }

Member Function Documentation

◆ reset()

void JCALIBRATE::JPMTParameters_t::reset ( )
inline

Reset.

Definition at line 443 of file JFitK40.hh.

444  {
445  status = true;
446 
447  QE .set(0.0);
448  TTS.set(0.0);
449  t0 .set(0.0);
450  bg .set(0.0);
451  }
void set()
Set current value.
Definition: JFitK40.hh:271
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:564
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:563
JParameter_t bg
background [Hz/ns]
Definition: JFitK40.hh:565
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:562

◆ getInstance()

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

Get default values.

Returns
parameters

Definition at line 459 of file JFitK40.hh.

460  {
461  static JPMTParameters_t parameters;
462 
464 
465  parameters.status = true;
466 
467  parameters.QE .set(1.0);
468  parameters.TTS.set(TTS_NS);
469  parameters.t0 .set(0.0);
470  parameters.bg .set(0.0);
471 
472  return parameters;
473  }
JTOOLS::JRange< double > range_type
Type definition for range of parameter values.
Definition: JFitK40.hh:125
Fit parameters for single PMT.
Definition: JFitK40.hh:425
static constexpr double QE_MIN
minimal QE
Definition: JFitK40.hh:427
static constexpr double TTS_NS
start value transition-time spread [ns]
Definition: JFitK40.hh:429
static constexpr double QE_MAX
maximal QE
Definition: JFitK40.hh:428

◆ getN()

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

Get number of fit parameters.

Returns
number of parameters

Definition at line 481 of file JFitK40.hh.

482  {
483  return ((QE. isFree() ? 1 : 0) +
484  (TTS.isFree() ? 1 : 0) +
485  (t0 .isFree() ? 1 : 0) +
486  (bg .isFree() ? 1 : 0));
487  }
bool isFree() const
Check if parameter is free.
Definition: JFitK40.hh:240

◆ getIndex()

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 496 of file JFitK40.hh.

497  {
498  if (!(this->*p).isFree()) {
499  return INVALID_INDEX;
500  }
501 
502  int N = 0;
503 
504  if (p == &JPMTParameters_t::QE ) { return N; }; if (QE .isFree()) { ++N; }
505  if (p == &JPMTParameters_t::TTS) { return N; }; if (TTS.isFree()) { ++N; }
506  if (p == &JPMTParameters_t::t0 ) { return N; }; if (t0 .isFree()) { ++N; }
507  if (p == &JPMTParameters_t::bg ) { return N; }; if (bg .isFree()) { ++N; }
508 
509  return INVALID_INDEX;
510  }
static const int INVALID_INDEX
invalid index
Definition: JFitK40.hh:60

◆ disable()

void JCALIBRATE::JPMTParameters_t::disable ( )
inline

Disable PMT.

Definition at line 516 of file JFitK40.hh.

517  {
518  status = false;
519 
520  QE .fix(0.0);
521  TTS.fix(TTS);
522  t0 .fix(0.0);
523  bg .fix(0.0);
524  }
void fix()
Fix current value.
Definition: JFitK40.hh:280

◆ enable()

void JCALIBRATE::JPMTParameters_t::enable ( )
inline

Enable PMT.

Definition at line 530 of file JFitK40.hh.

531  {
532  status = true;
533 
534  QE .set();
535  TTS.set();
536  t0 .set();
537  bg .set();
538  }

Friends And Related Function Documentation

◆ operator<<

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 548 of file JFitK40.hh.

549  {
550  using namespace std;
551 
552  out << "QE " << FIXED(7,3) << object.QE << endl;
553  out << "TTS " << FIXED(7,3) << object.TTS << endl;
554  out << "t0 " << FIXED(7,3) << object.t0 << endl;
555  out << "bg " << FIXED(7,3) << object.bg << endl;
556 
557  return out;
558  }
Definition: JSTDTypes.hh:14
Auxiliary data structure for floating point format specification.
Definition: JManip.hh:448

Member Data Documentation

◆ QE_MIN

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

minimal QE

Definition at line 427 of file JFitK40.hh.

◆ QE_MAX

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

maximal QE

Definition at line 428 of file JFitK40.hh.

◆ TTS_NS

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

start value transition-time spread [ns]

Definition at line 429 of file JFitK40.hh.

◆ status

bool JCALIBRATE::JPMTParameters_t::status

status

Definition at line 561 of file JFitK40.hh.

◆ QE

JParameter_t JCALIBRATE::JPMTParameters_t::QE

relative quantum efficiency [unit]

Definition at line 562 of file JFitK40.hh.

◆ TTS

JParameter_t JCALIBRATE::JPMTParameters_t::TTS

transition-time spread [ns]

Definition at line 563 of file JFitK40.hh.

◆ t0

JParameter_t JCALIBRATE::JPMTParameters_t::t0

time offset [ns]

Definition at line 564 of file JFitK40.hh.

◆ bg

JParameter_t JCALIBRATE::JPMTParameters_t::bg

background [Hz/ns]

Definition at line 565 of file JFitK40.hh.


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