Berkeley Nuclear Data Software
Public Member Functions | Protected Attributes | List of all members
STOFConfig Class Reference

#include <STOFConfig.h>

Collaboration diagram for STOFConfig:
Collaboration graph
[legend]

Public Member Functions

 STOFConfig ()
 default contstructor puts the class into a working but empty state More...
 
 STOFConfig (const STOFConfig &a_config)
 
virtual STOFConfigoperator= (const STOFConfig &a_rhs)
 
void procFile (std::string a_jsonConfig)
 
bool isConstructed ()
 
bool isKnown (int a_ch, int a_modID=0) const
 
bool isTarget (int a_ch, int a_modID=0) const
 
bool isScatter (int a_ch, int a_modID=0) const
 
bool isRF (int a_ch) const
 
int getRFCh () const
 
double getTCal (int a_targID, int a_scatID)
 
double getTarTCal (int a_targID)
 
const ScintConfiggetTargetConfig () const
 
const ScintConfiggetScatterConfig () const
 
bool canDoTiming ()
 
bool hasOffsetCalib ()
 tests if the config has built m_tarDTCuts, More...
 
bool passesDtCut (int a_targID, double a_timeDiff)
 call to passesCut for multipmtTargets More...
 
void buildTarScatDistMap ()
 builds target-Scatter distances More...
 
double getTargScatDistance (int a_targID, int a_scatID)
 
double getTarScintBUDistance (int a_targID)
 
double getRFPeriod ()
 
double getTargetSR (int a_targID)
 
double getAvgTheta ()
 
double getAvgExitFP ()
 
CutBasegetTargZCut (int a_targID)
 
CutBasegetScatZCut (int a_scatID)
 
void setTargZCut (int a_targID, CutBase *a_cut)
 
void setScatZCut (int a_scatID, CutBase *a_cut)
 
void setTime (uint32_t a_t)
 
void setTargetConfig (ScintConfig a_targetConfig)
 
void setScatterConfig (ScintConfig a_scatterConfig)
 
void clearScintConfigs ()
 
virtual ~STOFConfig ()
 

Protected Attributes

double m_detHalfLength
 
std::map< int, double > m_targetArea
 
ScintConfig m_targetConfig
 
ScintConfig m_scatterConfig
 
uint m_rfChID
 
std::map< std::pair< int, int >, double > m_tCalibs
 
std::map< int, DetectorCalib * > m_tarTCalibs
 
std::map< int, double > m_tarBUDistance
 
std::map< int, CutBase * > m_tarDTCuts
 
std::map< std::pair< int, int >, double > m_tarScatDist
 
std::map< int, CutBase * > m_scatZCuts
 
std::map< int, CutBase * > m_targZCuts
 
double m_RFPeriod
 
bool m_isConstructed
 

Detailed Description

this class is intended to manage reading setup and calibration information for the STOF detector and providing it to analysis routines. It uses two independed ScintConfig classes from the support library to track info for target cells and scatter cells

Constructor & Destructor Documentation

◆ STOFConfig() [1/2]

STOFConfig::STOFConfig ( )

default contstructor puts the class into a working but empty state

◆ STOFConfig() [2/2]

STOFConfig::STOFConfig ( const STOFConfig a_config)

distance from front face to center of scintillating medium right now hardcoded in constructor to 13.55 mm for 1-inch scatter cell

◆ ~STOFConfig()

STOFConfig::~STOFConfig ( )
virtual

Member Function Documentation

◆ buildTarScatDistMap()

void STOFConfig::buildTarScatDistMap ( )

builds target-Scatter distances

Here is the call graph for this function:
Here is the caller graph for this function:

◆ canDoTiming()

bool STOFConfig::canDoTiming ( )

right now this just tests if the time calibration arrays are populated it could be improved to test the scatter target cell id presence and make sure they all exist

Here is the caller graph for this function:

◆ clearScintConfigs()

void STOFConfig::clearScintConfigs ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getAvgExitFP()

double STOFConfig::getAvgExitFP ( )

this function returns the average exit flight path in m for the target (hard coded zero only) and scatter pairs

Here is the call graph for this function:

◆ getAvgTheta()

double STOFConfig::getAvgTheta ( )

this function returns the average scattering angle in radians for the target (hard coded zero only) and scatter pairs

Here is the call graph for this function:

◆ getRFCh()

int STOFConfig::getRFCh ( ) const

◆ getRFPeriod()

double STOFConfig::getRFPeriod ( )
Here is the caller graph for this function:

◆ getScatterConfig()

const ScintConfig & STOFConfig::getScatterConfig ( ) const
Here is the caller graph for this function:

◆ getScatZCut()

CutBase * STOFConfig::getScatZCut ( int  a_scatID)

returns the upper bound cut associated with a scat this will return a null pointer if the z cuts haven't been assigned in the config file

Here is the caller graph for this function:

◆ getTargetConfig()

const ScintConfig & STOFConfig::getTargetConfig ( ) const
Here is the caller graph for this function:

◆ getTargetSR()

double STOFConfig::getTargetSR ( int  a_targID)
Here is the caller graph for this function:

◆ getTargScatDistance()

double STOFConfig::getTargScatDistance ( int  a_targID,
int  a_scatID 
)

this function returns the distance between a target cell and a scatter cell at the moment, this assumes that the values provided in the json config file are at the center of the cell

Here is the caller graph for this function:

◆ getTargZCut()

CutBase * STOFConfig::getTargZCut ( int  a_targID)

returns the upper bound cut associated with a target this will return a null pointer if the z cuts haven't been assigned in the config file

Here is the caller graph for this function:

◆ getTarScintBUDistance()

double STOFConfig::getTarScintBUDistance ( int  a_targID)
Here is the caller graph for this function:

◆ getTarTCal()

double STOFConfig::getTarTCal ( int  a_targID)

this function returns the timeing calibration constant used to put the target cell time stamp in phase with the cyclotron RF

Here is the call graph for this function:

◆ getTCal()

double STOFConfig::getTCal ( int  a_targID,
int  a_scatID 
)

this function returns the timeing calibration constant for a target scatter cell pair it will throw if the pair doesn't exist

◆ hasOffsetCalib()

bool STOFConfig::hasOffsetCalib ( )

tests if the config has built m_tarDTCuts,

Here is the caller graph for this function:

◆ isConstructed()

bool STOFConfig::isConstructed ( )
Here is the caller graph for this function:

◆ isKnown()

bool STOFConfig::isKnown ( int  a_ch,
int  a_modID = 0 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isRF()

bool STOFConfig::isRF ( int  a_ch) const
Here is the caller graph for this function:

◆ isScatter()

bool STOFConfig::isScatter ( int  a_ch,
int  a_modID = 0 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isTarget()

bool STOFConfig::isTarget ( int  a_ch,
int  a_modID = 0 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

STOFConfig & STOFConfig::operator= ( const STOFConfig a_rhs)
virtual

distance from front face to center of scintillating medium right now hardcoded in constructor to 13.55 mm for 1-inch scatter cell

◆ passesDtCut()

bool STOFConfig::passesDtCut ( int  a_targID,
double  a_timeDiff 
)

call to passesCut for multipmtTargets

Here is the caller graph for this function:

◆ procFile()

void STOFConfig::procFile ( std::string  a_jsonConfig)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setScatterConfig()

void STOFConfig::setScatterConfig ( ScintConfig  a_scatterConfig)

this function allows to directly set the scatterConfig – will replace existing target config

Here is the caller graph for this function:

◆ setScatZCut()

void STOFConfig::setScatZCut ( int  a_scatID,
CutBase a_cut 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setTargetConfig()

void STOFConfig::setTargetConfig ( ScintConfig  a_targetConfig)

this function allows to directly set the targetConfig – will replace existing target config

Here is the caller graph for this function:

◆ setTargZCut()

void STOFConfig::setTargZCut ( int  a_targID,
CutBase a_cut 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setTime()

void STOFConfig::setTime ( uint32_t  a_t)

Member Data Documentation

◆ m_detHalfLength

double STOFConfig::m_detHalfLength
protected

distance from front face to center of scintillating medium right now hardcoded in constructor to 13.55 mm for 1-inch scatter cell

◆ m_isConstructed

bool STOFConfig::m_isConstructed
protected

◆ m_rfChID

uint STOFConfig::m_rfChID
protected

◆ m_RFPeriod

double STOFConfig::m_RFPeriod
protected

◆ m_scatterConfig

ScintConfig STOFConfig::m_scatterConfig
protected

◆ m_scatZCuts

std::map<int, CutBase*> STOFConfig::m_scatZCuts
protected

◆ m_tarBUDistance

std::map<int, double> STOFConfig::m_tarBUDistance
protected

◆ m_tarDTCuts

std::map<int, CutBase*> STOFConfig::m_tarDTCuts
protected

◆ m_targetArea

std::map<int,double> STOFConfig::m_targetArea
protected

◆ m_targetConfig

ScintConfig STOFConfig::m_targetConfig
protected

◆ m_targZCuts

std::map<int, CutBase*> STOFConfig::m_targZCuts
protected

◆ m_tarScatDist

std::map<std::pair<int,int>,double> STOFConfig::m_tarScatDist
protected

◆ m_tarTCalibs

std::map<int, DetectorCalib*> STOFConfig::m_tarTCalibs
protected

◆ m_tCalibs

std::map<std::pair<int,int>, double > STOFConfig::m_tCalibs
protected

The documentation for this class was generated from the following files: