Jpp in_tag_pdf_generation
the software that should make you happy
Loading...
Searching...
No Matches
JCALIBRATE::JPMTParameters_t Struct Reference

Fit parameters for single PMT. More...

#include <JFitK40.hh>

Public Member Functions

 JPMTParameters_t ()
 Default constructor.
 
void reset ()
 Reset.
 
void set (const JPMTParameters_t &parameters)
 Set parameters that are free to given values.
 
size_t getN () const
 Get number of fit parameters.
 
int getIndex (JParameter_t JPMTParameters_t::*p) const
 Get index of parameter.
 
void disable ()
 Disable PMT.
 
void enable ()
 Enable PMT.
 

Static Public Member Functions

static const JPMTParameters_tgetInstance ()
 Get default values.
 

Public Attributes

bool status
 status
 
JParameter_t QE
 relative quantum efficiency [unit]
 
JParameter_t TTS
 transition-time spread [ns]
 
JParameter_t t0
 time offset [ns]
 
JParameter_t bg
 background [Hz/ns]
 

Static Public Attributes

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

Friends

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

Detailed Description

Fit parameters for single PMT.

Definition at line 455 of file JFitK40.hh.

Constructor & Destructor Documentation

◆ JPMTParameters_t()

JCALIBRATE::JPMTParameters_t::JPMTParameters_t ( )
inline

Default constructor.

Definition at line 464 of file JFitK40.hh.

465 {
466 reset();
467 }

Member Function Documentation

◆ getInstance()

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

Get default values.

Returns
parameters

Definition at line 475 of file JFitK40.hh.

476 {
477 static JPMTParameters_t parameters;
478
479 parameters.QE.range = JParameter_t::range_type(QE_MIN, QE_MAX);
480
481 parameters.status = true;
482
483 parameters.QE .set(1.0);
484 parameters.TTS.set(TTS_NS);
485 parameters.t0 .set(0.0);
486 parameters.bg .set(0.0);
487
488 return parameters;
489 }
JTOOLS::JRange< double > range_type
Type definition for range of parameter values.
Definition JFitK40.hh:125
static constexpr double QE_MIN
minimal QE
Definition JFitK40.hh:457
static constexpr double TTS_NS
start value transition-time spread [ns]
Definition JFitK40.hh:459
JPMTParameters_t()
Default constructor.
Definition JFitK40.hh:464
static constexpr double QE_MAX
maximal QE
Definition JFitK40.hh:458

◆ reset()

void JCALIBRATE::JPMTParameters_t::reset ( )
inline

Reset.

Definition at line 495 of file JFitK40.hh.

496 {
497 status = true;
498
499 QE .set(0.0);
500 TTS.set(0.0);
501 t0 .set(0.0);
502 bg .set(0.0);
503 }
void set()
Set current value.
Definition JFitK40.hh:271
JParameter_t t0
time offset [ns]
Definition JFitK40.hh:608
JParameter_t TTS
transition-time spread [ns]
Definition JFitK40.hh:607
JParameter_t bg
background [Hz/ns]
Definition JFitK40.hh:609
JParameter_t QE
relative quantum efficiency [unit]
Definition JFitK40.hh:606

◆ set()

void JCALIBRATE::JPMTParameters_t::set ( const JPMTParameters_t & parameters)
inline

Set parameters that are free to given values.

Parameters
parametersparameters

Definition at line 511 of file JFitK40.hh.

512 {
513 if (QE .isFree()) { QE .set(parameters.QE); }
514 if (TTS.isFree()) { TTS.set(parameters.TTS); }
515 if (t0 .isFree()) { t0 .set(parameters.t0); }
516 if (bg .isFree()) { bg .set(parameters.bg); }
517 }
bool isFree() const
Check if parameter is free.
Definition JFitK40.hh:240

◆ getN()

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

Get number of fit parameters.

Returns
number of parameters

Definition at line 525 of file JFitK40.hh.

526 {
527 return ((QE. isFree() ? 1 : 0) +
528 (TTS.isFree() ? 1 : 0) +
529 (t0 .isFree() ? 1 : 0) +
530 (bg .isFree() ? 1 : 0));
531 }

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

541 {
542 if (!(this->*p).isFree()) {
543 return INVALID_INDEX;
544 }
545
546 int N = 0;
547
548 if (p == &JPMTParameters_t::QE ) { return N; }; if (QE .isFree()) { ++N; }
549 if (p == &JPMTParameters_t::TTS) { return N; }; if (TTS.isFree()) { ++N; }
550 if (p == &JPMTParameters_t::t0 ) { return N; }; if (t0 .isFree()) { ++N; }
551 if (p == &JPMTParameters_t::bg ) { return N; }; if (bg .isFree()) { ++N; }
552
553 return INVALID_INDEX;
554 }
static const int INVALID_INDEX
invalid index
Definition JFitK40.hh:60

◆ disable()

void JCALIBRATE::JPMTParameters_t::disable ( )
inline

Disable PMT.

Definition at line 560 of file JFitK40.hh.

561 {
562 status = false;
563
564 QE .fix(0.0);
565 TTS.fix(TTS_NS);
566 t0 .fix(0.0);
567 bg .fix(0.0);
568 }
void fix()
Fix current value.
Definition JFitK40.hh:280

◆ enable()

void JCALIBRATE::JPMTParameters_t::enable ( )
inline

Enable PMT.

Definition at line 574 of file JFitK40.hh.

575 {
576 status = true;
577
578 QE .set();
579 TTS.set();
580 t0 .set();
581 bg .set();
582 }

Friends And Related Symbol 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 592 of file JFitK40.hh.

593 {
594 using namespace std;
595
596 out << "QE " << FIXED(7,3) << object.QE << endl;
597 out << "TTS " << FIXED(7,3) << object.TTS << endl;
598 out << "t0 " << FIXED(7,3) << object.t0 << endl;
599 out << "bg " << FIXED(7,3) << object.bg << endl;
600
601 return out;
602 }
Auxiliary data structure for floating point format specification.
Definition JManip.hh:448

Member Data Documentation

◆ QE_MIN

double JCALIBRATE::JPMTParameters_t::QE_MIN = 0.0
staticconstexpr

minimal QE

Definition at line 457 of file JFitK40.hh.

◆ QE_MAX

double JCALIBRATE::JPMTParameters_t::QE_MAX = 2.0
staticconstexpr

maximal QE

Definition at line 458 of file JFitK40.hh.

◆ TTS_NS

double JCALIBRATE::JPMTParameters_t::TTS_NS = 2.0
staticconstexpr

start value transition-time spread [ns]

Definition at line 459 of file JFitK40.hh.

◆ status

bool JCALIBRATE::JPMTParameters_t::status

status

Definition at line 605 of file JFitK40.hh.

◆ QE

JParameter_t JCALIBRATE::JPMTParameters_t::QE

relative quantum efficiency [unit]

Definition at line 606 of file JFitK40.hh.

◆ TTS

JParameter_t JCALIBRATE::JPMTParameters_t::TTS

transition-time spread [ns]

Definition at line 607 of file JFitK40.hh.

◆ t0

JParameter_t JCALIBRATE::JPMTParameters_t::t0

time offset [ns]

Definition at line 608 of file JFitK40.hh.

◆ bg

JParameter_t JCALIBRATE::JPMTParameters_t::bg

background [Hz/ns]

Definition at line 609 of file JFitK40.hh.


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