Berkeley Nuclear Data Software
Public Member Functions | Static Public Member Functions | List of all members
ConfigBuilder Class Reference

#include <ConfigBuilder.h>

Public Member Functions

 ConfigBuilder ()
 default constructor puts the class into a working state More...
 

Static Public Member Functions

static ExperimentConfig processFile (std::string a_filename, bool a_optVerbose=false)
 
static ExperimentConfig processFile (std::string a_filename, std::string a_sectionName, bool a_optVerbose=false)
 
static ExperimentConfig procDetectorArray (json a_jsonObject, bool a_optVerbose=false)
 
static ExperimentUncertaintiesConfig procDetArrayUnc (json a_jsonObject, bool a_optVerbose=false)
 
static OrgScintInfo buildOrgScintInfo (json a_jsonObject)
 
static MultiPMTOrgScintInfo buildMultiPMTOrgScintInfo (json a_jsonObject)
 
static InorgScintInfo buildInorgScintInfo (json a_jsonObject)
 
static HPGeInfo buildHPGeInfo (json a_jsonObject)
 
static CloverInfo buildCloverInfo (json a_jsonObject)
 
static PointSourceInfo buildPointSourceInfo (json a_jsonObject)
 
static OrgScintUncertaintiesInfo buildOrgScintUncertaintiesInfo (json a_jsonObject)
 McGuire, 2023. More...
 
static void constructDetectorInfo (DetectorInfo &a_det, json a_jsonObject)
 
static void constructDetectorElementInfo (DetectorElementInfo &a_det, json a_jsonObject)
 
static std::map< uint32_t, double > readTStepFile (std::string a_filename)
 
static std::map< std::string, std::pair< double, double > > readClycConfig (std::string a_filename)
 
static std::map< std::string, double > readClycXSBuildConfig (std::string a_filename)
 

Detailed Description

This class is similar to a factory design pattern and is intended to build objects defined in the Config classes header file from a json file specifyig an experimental configuration

Constructor & Destructor Documentation

◆ ConfigBuilder()

ConfigBuilder::ConfigBuilder ( )

default constructor puts the class into a working state

Member Function Documentation

◆ buildCloverInfo()

CloverInfo ConfigBuilder::buildCloverInfo ( json  a_jsonObject)
static

this function build and returns a CloverInfo given a json representatio of the class

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

◆ buildHPGeInfo()

HPGeInfo ConfigBuilder::buildHPGeInfo ( json  a_jsonObject)
static

this function build and returns a HPGeInfo given a json representatio of the class

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

◆ buildInorgScintInfo()

InorgScintInfo ConfigBuilder::buildInorgScintInfo ( json  a_jsonObject)
static

this function build and returns a InorgScintInfo given a json representatio of the class

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

◆ buildMultiPMTOrgScintInfo()

MultiPMTOrgScintInfo ConfigBuilder::buildMultiPMTOrgScintInfo ( json  a_jsonObject)
static

this function builds and returns a MultiPMTOrgScintInfo given a json representation of the class.

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

◆ buildOrgScintInfo()

OrgScintInfo ConfigBuilder::buildOrgScintInfo ( json  a_jsonObject)
static

this function build and returns a OrgScintInfo given a json representatio of the class

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

◆ buildOrgScintUncertaintiesInfo()

OrgScintUncertaintiesInfo ConfigBuilder::buildOrgScintUncertaintiesInfo ( json  a_jsonObject)
static

McGuire, 2023.

this function builds and returns a OrgScintUncertaintiesInfo given a json representation of the class

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

◆ buildPointSourceInfo()

PointSourceInfo ConfigBuilder::buildPointSourceInfo ( json  a_jsonObject)
static

McGuire, 2023 This function builds and returns a PointSourceInfo given a json representation of the class

Handle position information

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

◆ constructDetectorElementInfo()

void ConfigBuilder::constructDetectorElementInfo ( DetectorElementInfo a_det,
json  a_jsonObject 
)
static

this is a function used to manage variables associated with the shared child class it's signature differs from the others to allow for it to be easily called by the above build functions calibration associations should be managed externally

this is a function used to manage variables associated with the shared child class it's signature differs from the others to allow for it to be easily called by the above build functions

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

◆ constructDetectorInfo()

void ConfigBuilder::constructDetectorInfo ( DetectorInfo a_det,
json  a_jsonObject 
)
static

this function builds and returns a MultiPMTOrgScintInfo given a json representation of the class this is a function used to manage variables associated with the shared base class it's signature differs from the others to allow for it to be easily called by the above build functions detector type should be managed externally

this is a function used to manage variables associated with the shared base class it's signature differs from the others to allow for it to be easily called by the above build functions

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

◆ procDetArrayUnc()

ExperimentUncertaintiesConfig ConfigBuilder::procDetArrayUnc ( json  a_jsonObject,
bool  a_optVerbose = false 
)
static

current implementation only supports STOF this function takes a json formatted uncertainty file for STOF and processes it into a ExperimentUncertaintiesConfig this is used in the MonteCarlo of the systematics

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

◆ procDetectorArray()

ExperimentConfig ConfigBuilder::procDetectorArray ( json  a_jsonObject,
bool  a_optVerbose = false 
)
static

this function takes a json formatted detector array made up of the the below types and processes it into a ExperimentConfig the processFile function depends on it.

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

◆ processFile() [1/2]

ExperimentConfig ConfigBuilder::processFile ( std::string  a_filename,
bool  a_optVerbose = false 
)
static

this file reads a json formated detector configuration and processes it into the relevant data structures

empty source info

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

◆ processFile() [2/2]

ExperimentConfig ConfigBuilder::processFile ( std::string  a_filename,
std::string  a_sectionName,
bool  a_optVerbose = false 
)
static

this file reads a json formated detector section from a configuration and processes it into the relevant data structures

Here is the call graph for this function:

◆ readClycConfig()

std::map< std::string, std::pair< double, double > > ConfigBuilder::readClycConfig ( std::string  a_filename)
static
Here is the caller graph for this function:

◆ readClycXSBuildConfig()

std::map< std::string, double > ConfigBuilder::readClycXSBuildConfig ( std::string  a_filename)
static
Here is the caller graph for this function:

◆ readTStepFile()

std::map< uint32_t, double > ConfigBuilder::readTStepFile ( std::string  a_filename)
static
Here is the caller graph for this function:

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