Jpp test-rotations-old
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 457 of file JFitK40.hh.

Constructor & Destructor Documentation

◆ JPMTParameters_t()

JCALIBRATE::JPMTParameters_t::JPMTParameters_t ( )
inline

Default constructor.

Definition at line 466 of file JFitK40.hh.

467 {
468 reset();
469 }

Member Function Documentation

◆ getInstance()

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

Get default values.

Returns
parameters

Definition at line 477 of file JFitK40.hh.

478 {
479 static JPMTParameters_t parameters;
480
481 parameters.QE.range = JParameter_t::range_type(QE_MIN, QE_MAX);
482
483 parameters.status = true;
484
485 parameters.QE .set(1.0);
486 parameters.TTS.set(TTS_NS);
487 parameters.t0 .set(0.0);
488 parameters.bg .set(0.0);
489
490 return parameters;
491 }
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:459
static constexpr double TTS_NS
start value transition-time spread [ns]
Definition JFitK40.hh:461
JPMTParameters_t()
Default constructor.
Definition JFitK40.hh:466
static constexpr double QE_MAX
maximal QE
Definition JFitK40.hh:460

◆ reset()

void JCALIBRATE::JPMTParameters_t::reset ( )
inline

Reset.

Definition at line 497 of file JFitK40.hh.

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

◆ set()

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

Set parameters that are free to given values.

Parameters
parametersparameters

Definition at line 513 of file JFitK40.hh.

514 {
515 if (QE .isFree()) { QE .set(parameters.QE); }
516 if (TTS.isFree()) { TTS.set(parameters.TTS); }
517 if (t0 .isFree()) { t0 .set(parameters.t0); }
518 if (bg .isFree()) { bg .set(parameters.bg); }
519 }
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 527 of file JFitK40.hh.

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

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

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

◆ disable()

void JCALIBRATE::JPMTParameters_t::disable ( )
inline

Disable PMT.

Definition at line 562 of file JFitK40.hh.

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

◆ enable()

void JCALIBRATE::JPMTParameters_t::enable ( )
inline

Enable PMT.

Definition at line 576 of file JFitK40.hh.

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

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

595 {
596 using namespace std;
597
598 out << "QE " << FIXED(7,3) << object.QE << endl;
599 out << "TTS " << FIXED(7,3) << object.TTS << endl;
600 out << "t0 " << FIXED(7,3) << object.t0 << endl;
601 out << "bg " << FIXED(7,3) << object.bg << endl;
602
603 return out;
604 }
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 459 of file JFitK40.hh.

◆ QE_MAX

double JCALIBRATE::JPMTParameters_t::QE_MAX = 2.0
staticconstexpr

maximal QE

Definition at line 460 of file JFitK40.hh.

◆ TTS_NS

double JCALIBRATE::JPMTParameters_t::TTS_NS = 2.0
staticconstexpr

start value transition-time spread [ns]

Definition at line 461 of file JFitK40.hh.

◆ status

bool JCALIBRATE::JPMTParameters_t::status

status

Definition at line 607 of file JFitK40.hh.

◆ QE

JParameter_t JCALIBRATE::JPMTParameters_t::QE

relative quantum efficiency [unit]

Definition at line 608 of file JFitK40.hh.

◆ TTS

JParameter_t JCALIBRATE::JPMTParameters_t::TTS

transition-time spread [ns]

Definition at line 609 of file JFitK40.hh.

◆ t0

JParameter_t JCALIBRATE::JPMTParameters_t::t0

time offset [ns]

Definition at line 610 of file JFitK40.hh.

◆ bg

JParameter_t JCALIBRATE::JPMTParameters_t::bg

background [Hz/ns]

Definition at line 611 of file JFitK40.hh.


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