Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
MCGIDI_uncorrelated.cc File Reference
#include <string.h>
#include <cmath>
#include "MCGIDI_fromTOM.h"

Go to the source code of this file.

Functions

int MCGIDI_uncorrelated_parseFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms, enum MCGIDI_energyType energyType, double gammaEnergy_MeV)
 
int MCGIDI_uncorrelated_sampleDistribution (statusMessageReporting *smr, MCGIDI_distribution *distribution, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
 

Function Documentation

◆ MCGIDI_uncorrelated_parseFromTOM()

int MCGIDI_uncorrelated_parseFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_distribution distribution,
ptwXYPoints norms,
enum MCGIDI_energyType  energyType,
double  gammaEnergy_MeV 
)

Definition at line 18 of file MCGIDI_uncorrelated.cc.

19 {
20
21 xDataTOM_element *uncorrelatedElement;
22 ptwXYPoints *angularNorms = NULL;
23
24 if( ( energyType == MCGIDI_energyType_primaryGamma ) || ( energyType == MCGIDI_energyType_discreteGamma ) ) {
25 angularNorms = norms;
26 uncorrelatedElement = element; }
27 else {
28 if( ( uncorrelatedElement = xDataTOME_getOneElementByName( smr, element, "uncorrelated", 1 ) ) == NULL ) goto err;
29 }
30
31 if( MCGIDI_angular_parseFromTOM( smr, uncorrelatedElement, distribution, angularNorms ) ) goto err;
32 if( MCGIDI_energy_parseFromTOM( smr, uncorrelatedElement, distribution, norms, energyType, gammaEnergy_MeV ) ) goto err;
34
35 return( 0 );
36
37err:
38 return( 1 );
39}
@ MCGIDI_distributionType_uncorrelated_e
Definition: MCGIDI.h:209
int MCGIDI_energy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms, enum MCGIDI_energyType energyType, double gammaEnergy_MeV)
int MCGIDI_angular_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms)
@ MCGIDI_energyType_primaryGamma
Definition: MCGIDI.h:214
@ MCGIDI_energyType_discreteGamma
Definition: MCGIDI.h:214
enum MCGIDI_distributionType type
Definition: MCGIDI.h:382
xDataTOM_element * xDataTOME_getOneElementByName(statusMessageReporting *smr, xDataTOM_element *element, char const *name, int required)
Definition: xDataTOM.cc:246

Referenced by MCGIDI_distribution_parseFromTOM().

◆ MCGIDI_uncorrelated_sampleDistribution()

int MCGIDI_uncorrelated_sampleDistribution ( statusMessageReporting smr,
MCGIDI_distribution distribution,
MCGIDI_quantitiesLookupModes modes,
MCGIDI_decaySamplingInfo decaySamplingInfo 
)

Definition at line 43 of file MCGIDI_uncorrelated.cc.

44 {
45
46 enum xDataTOM_frame frame;
47
48 if( MCGIDI_energy_sampleEnergy( smr, distribution->energy, modes, decaySamplingInfo ) ) return( 1 );
49 frame = decaySamplingInfo->frame;
50 if( MCGIDI_angular_sampleMu( smr, distribution->angular, modes, decaySamplingInfo ) ) return( 1 );
51 decaySamplingInfo->frame = frame; /* Discrete and primary gammas in COM are treated as lab for now and energy sets it correctly. */
52 return( 0 );
53}
int MCGIDI_energy_sampleEnergy(statusMessageReporting *smr, MCGIDI_energy *energy, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_angular_sampleMu(statusMessageReporting *smr, MCGIDI_angular *angular, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
enum xDataTOM_frame frame
Definition: MCGIDI.h:256
MCGIDI_energy * energy
Definition: MCGIDI.h:384
MCGIDI_angular * angular
Definition: MCGIDI.h:383
xDataTOM_frame
Definition: xDataTOM.h:23

Referenced by MCGIDI_outputChannel_sampleProductsAtE().