Provides utility methods for generating ENES and IBD interactions.
More...
This class serves as a repository for common functionalities associated with the generation of ENES and IBD interactions within the Supernova (SN) context.
|
G4ThreeVector | randomPosition () |
| Randomly determines a vertex position within the generation volume.
|
|
std::pair< std::string, std::string > | getFileNames (int value) |
| Retrieves file names for neutrino and antineutrino fluxes based on a specified supernova model.
|
|
G4double | sampleEnergy (G4double Emean, G4double Emean2, G4double &alpha) |
| Randomly samle the energy depending on the properties of the energy spectrum.
|
|
G4double | getAlpha (G4double Emean, G4double Emean2) |
| Calculates pinching parameter of energy spectrum.
|
|
G4double | calculateWeight (G4double sigma, G4double NTargets) |
| Calculates the interaction weight based on the cross section and number of targets.
|
|
G4double | numberOfTargets (G4int targetPerMolecule) |
| Calculates the number of target particles in ice per cubic meter.
|
|
|
bool | checkVolumeForOMs (G4ThreeVector position) |
| Checks if a given position is within any of the modules.
|
|
|
std::vector< G4double > | m_DOMpos |
|
G4double | m_rMin |
|
◆ calculateWeight()
G4double OMSimSNTools::calculateWeight |
( |
G4double |
p_sigma, |
|
|
G4double |
p_numberTargs |
|
) |
| |
This method computes the interaction weight of neutrinos in the ice using the formula: weight = p_sigma * Nt * r
, where:
p_sigma
is the cross section,
Nt
is the number of targets in the ice (considered as electrons),
r
is the distance the neutrino travels in the ice.
- Parameters
-
p_sigma | The cross section p_value. |
p_numberTargs | The number of targets present in the ice for the corresponding interaction. |
- Warning
- It's crucial to note that this formulation is specifically valid for SN neutrinos approaching from the Z axis in a world defined as a cylinder. For any other geometry or conditions, a different approach or adjustments might be required.
- Returns
- The computed interaction weight for the neutrinos based on the provided parameters.
◆ checkVolumeForOMs()
bool OMSimSNTools::checkVolumeForOMs |
( |
G4ThreeVector |
p_position | ) |
|
|
private |
This method determines whether the provided position lies in the generation medium (ice) It evaluates the position in the context of the global environment and examines the history depth to make this determination.
- Parameters
-
p_position | The 3D position vector to be checked against module boundaries. |
- Warning
- This relies on the generation module being a single volume (generally, the ice) and the mother volume of everything else If the ice is modified to be composed of different subvolumes (like, for example, if the bubble column is added) this method would need to be modify!
- Returns
- True if the position is inside a module; otherwise, false.
◆ getAlpha()
G4double OMSimSNTools::getAlpha |
( |
G4double |
p_meanEnergy, |
|
|
G4double |
p_meanESquared |
|
) |
| |
Given the mean energy and squared mean energy of the neutrino event, calculates the pinching parameter following equation 3 in Irene Tamborra et al., "High-resolution supernova neutrino spectra represented by a simple fit," PHYSICAL REVIEW D 86, 125031 (2012). https://arxiv.org/abs/1211.3920
- Parameters
-
p_meanEnergy | The primary mean energy p_value from the supernova model. |
p_meanESquared | The primary squared mean energy p_value from the supernova model. |
- Returns
- Pinching parameter of the energy spectrum.
◆ getFileNames()
std::pair< std::string, std::string > OMSimSNTools::getFileNames |
( |
int |
p_value | ) |
|
This function provides the corresponding file names for neutrino and antineutrino fluxes depending on the supernova model identified by the input p_value. Files are located in "supernova/models"
- Parameters
-
p_value | The integer identifier representing a specific supernova model. |
- Returns
- A pair containing the neutrino and antineutrino flux file names.
◆ numberOfTargets()
G4double OMSimSNTools::numberOfTargets |
( |
G4int |
p_numberTargetPerMolecule | ) |
|
This function determines the number of target particles, given the number of targets per molecule, assuming the ice is pure H2O. The density and molar mass values are based on ice at -50°C.
- Parameters
-
p_numberTargetPerMolecule | Number of target particles per H2O molecule. |
- Returns
- Total number of target particles per cubic meter in ice.
◆ randomPosition()
G4ThreeVector OMSimSNTools::randomPosition |
( |
| ) |
|
The vertex is considered valid only if it is located within the ice, ensuring it is not situated inside the module or other predefined volumes.
- Returns
- A valid vertex position within the ice.
◆ sampleEnergy()
G4double OMSimSNTools::sampleEnergy |
( |
G4double |
p_meanEnergy, |
|
|
G4double |
p_meanESquared, |
|
|
G4double & |
p_alpha |
|
) |
| |
Build the energy distribution Fe(E) given the input parameters, and uses the inverse CDF algorithm to sample a p_value for the neutrino energy from Fe(E).
- Parameters
-
p_meanEnergy | The primary mean energy p_value from the supernova model. |
p_meanESquared | The primary squared mean energy p_value from the supernova model. |
p_alpha | Pinching parameter of the energy spectrum. |
- Returns
- The sampled energy p_value based on the given model.
The documentation for this class was generated from the following files: