OMSim
Geant4 for IceCube optical module studies
ScintillationProcessor Namespace Reference

Namespace containing functions for processing files with scintillation properties.

Functions

void process (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT)
 Process scintillation properties and add them to the material properties table. More...
 
void extractSpectrum (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT)
 Extracts the scintillation spectrum from the data file and adds it to the material properties table. More...
 
void getLifeTimeTemperatureRange (const boost::property_tree::ptree &p_jsonTree, double &p_minTemperature, double &p_maxTemperature)
 Retrieves the range of temperatures available for scintillation lifetimes. More...
 
std::pair< std::vector< G4double >, std::vector< G4double > > extractLifeTimesForTemperature (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4String p_temperature)
 Extracts lifetimes and amplitudes for a given temperature from the data. More...
 
void weightLifeTimesAmplitudes (std::vector< G4double > &p_amplitude, double p_T1, double p_T2)
 Adjusts amplitudes of lifetimes based on distance to investigated temperature. More...
 
void extractLifeTimes (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT, G4String p_temperature)
 Extracts the scintillation lifetimes from the file and weights them for a specific temperature. More...
 
void extractYield (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT, G4String p_temperature, G4String p_yieldPropertyName, G4String p_argKey, G4String p_treeKeyTemperature, G4String p_treeKeyYield)
 Extract the yield from json tree. More...
 
void extractYieldAlpha (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT, G4String p_temperature)
 Extracts and interpolates the alpha particle scintillation yield for a given temperature. More...
 
void extractYieldElectron (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT, G4String p_temperature)
 Extracts and interpolates the electron scintillation yield for a given temperature. Uses the alpha yield as fallback if electron yield is not given. More...
 

Function Documentation

◆ extractLifeTimes()

void ScintillationProcessor::extractLifeTimes ( ParameterTable p_dataFile,
const boost::property_tree::ptree &  p_jsonTree,
G4MaterialPropertiesTable *  p_MPT,
G4String  p_temperature 
)
Parameters
p_dataFilePointer to the ParameterTable containing file data.
p_jsonTreeThe JSON property tree containing lifetime data.
p_MPTPointer to the G4MaterialPropertiesTable to be modified.
pTemperatureThe temperature for which to extract lifetimes.

◆ extractLifeTimesForTemperature()

std::pair< std::vector< G4double >, std::vector< G4double > > ScintillationProcessor::extractLifeTimesForTemperature ( ParameterTable p_dataFile,
const boost::property_tree::ptree &  p_jsonTree,
G4String  p_temperature 
)
Parameters
p_dataFilePointer to the ParameterTable containing file data.
p_jsonTreeThe JSON property tree containing scintillation data.
p_temperatureThe temperature for which to extract lifetimes.
Returns
Pair of vectors containing lifetimes and their corresponding amplitudes.

◆ extractSpectrum()

void ScintillationProcessor::extractSpectrum ( ParameterTable p_dataFile,
const boost::property_tree::ptree &  p_jsonTree,
G4MaterialPropertiesTable *  p_MPT 
)
Parameters
p_dataFilePointer to the ParameterTable containing file data.
p_jsonTreeThe JSON property tree containing scintillation data.
p_MPTPointer to the G4MaterialPropertiesTable to be modified.

◆ extractYield()

void ScintillationProcessor::extractYield ( ParameterTable p_dataFile,
const boost::property_tree::ptree &  p_jsonTree,
G4MaterialPropertiesTable *  p_MPT,
G4String  p_temperature,
G4String  p_yieldPropertyName,
G4String  p_argKey,
G4String  p_treeKeyTemperature,
G4String  p_treeKeyYield 
)

The data is the yield at different temperatures and is interpolated with a TGraph to the investigated temperature. If a user argument with a yield, it will overwrite the extracted data.

Parameters
p_dataFilePointer to the ParameterTable containing file data.
p_jsonTreeThe JSON property tree containing yield data.
p_MPTPointer to the G4MaterialPropertiesTable to be modified.
p_temperatureTemperature for which the yield is interpolated.
p_yieldPropertyNameName of the yield property (Geant4 internal).
p_argKeyCommand arguments key.
p_treeKeyTemperatureKey to access temperature array in the tree.
p_treeKeyYieldKey to access yield array in the tree.

◆ extractYieldAlpha()

void ScintillationProcessor::extractYieldAlpha ( ParameterTable p_dataFile,
const boost::property_tree::ptree &  p_jsonTree,
G4MaterialPropertiesTable *  p_MPT,
G4String  p_temperature 
)
Parameters
p_dataFilePointer to the ParameterTable containing file data.
p_jsonTreeThe JSON property tree containing yield data.
p_MPTPointer to the G4MaterialPropertiesTable to be modified.
p_temperatureThe temperature for which to extract yield.

◆ extractYieldElectron()

void ScintillationProcessor::extractYieldElectron ( ParameterTable p_dataFile,
const boost::property_tree::ptree &  p_jsonTree,
G4MaterialPropertiesTable *  p_MPT,
G4String  p_temperature 
)
Parameters
p_dataFilePointer to the ParameterTable containing file data.
p_jsonTreeThe JSON property tree containing yield data.
p_MPTPointer to the G4MaterialPropertiesTable to be modified.
p_temperatureThe temperature for which to extract yield.

◆ getLifeTimeTemperatureRange()

void ScintillationProcessor::getLifeTimeTemperatureRange ( const boost::property_tree::ptree &  p_jsonTree,
double &  p_minTemperature,
double &  p_maxTemperature 
)
Parameters
p_jsonTreeThe JSON property tree containing scintillation data.
p_minTemperatureReference variable to receive the minimum temperature value.
p_maxTemperatureReference variable to receive the maximum temperature value.

◆ process()

void ScintillationProcessor::process ( ParameterTable p_dataFile,
const boost::property_tree::ptree &  p_jsonTree,
G4MaterialPropertiesTable *  p_MPT 
)

This function extracts scintillation properties from the provided data file and sets up the material properties for scintillation simulation.

Parameters
p_dataFilePointer to the ParameterTable containing file data.
p_jsonTreeThe JSON property tree containing scintillation data.
p_MPTPointer to the G4MaterialPropertiesTable to be modified.

◆ weightLifeTimesAmplitudes()

void ScintillationProcessor::weightLifeTimesAmplitudes ( std::vector< G4double > &  p_amplitude,
double  p_T1,
double  p_T2 
)
Parameters
p_amplitudeReference to the vector of amplitudes to be adjusted.
p_T1Investigated temperature.
p_T2Actual temperature from the data.