OMSim
Geant4 for IceCube optical module studies
Loading...
Searching...
No Matches
OMSimMaterialHandler.hh File Reference

Definition of OMSimMaterialHandler and the namespaces IceProcessor and ScintillationProcessor. More...

Include dependency graph for OMSimMaterialHandler.hh:

Go to the source code of this file.

Classes

class  OMSimMaterialHandler
 Handles the creation and processing of materials from json files. More...
 

Namespaces

namespace  ScintillationProcessor
 Namespace containing functions for processing files with scintillation properties.
 
namespace  IceProcessor
 Namespace containing functions for processing IceCube ice properties from file.
 

Typedefs

using ProcessorFunction = void(ParameterTable *, const boost::property_tree::ptree &, G4MaterialPropertiesTable *)
 

Functions

void ScintillationProcessor::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.
 
void ScintillationProcessor::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.
 
void ScintillationProcessor::getLifeTimeTemperatureRange (const boost::property_tree::ptree &p_jsonTree, double &p_minTemperature, double &p_maxTemperature)
 Retrieves the range of temperatures available for scintillation lifetimes.
 
std::pair< std::vector< G4double >, std::vector< G4double > > ScintillationProcessor::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.
 
void ScintillationProcessor::weightLifeTimesAmplitudes (std::vector< G4double > &p_amplitude, double p_T1, double p_T2)
 Adjusts amplitudes of lifetimes based on distance to investigated temperature.
 
void ScintillationProcessor::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.
 
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)
 Extract the yield from json tree.
 
void ScintillationProcessor::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.
 
void ScintillationProcessor::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.
 
void IceProcessor::process (ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT)
 Process IceCube ice properties and create corresponding materials.
 
G4double IceProcessor::spiceTemperature (G4double p_depth)
 Calculate temperature of ice depending on the depth.
 
G4double IceProcessor::spiceAbsorption (G4double p_lambda, const std::vector< G4double > &p_spicea400inv, const std::vector< G4double > &p_spiceDepth)
 Calculate absorption length of IceCube's ice for a specific wavelength.
 
G4double IceProcessor::spiceRefraction (G4double p_lambda)
 Calculate refraction index of IceCube's ice for a specific wavelength.
 
G4double IceProcessor::mieScattering (G4double p_lambda, const std::vector< G4double > &p_spicebe400inv)
 Calculate mie scattering length of IceCube's ice for a specific wavelength.