ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
MCGIDI_uncorrelated.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file MCGIDI_uncorrelated.cc
1
/*
2
# <<BEGIN-copyright>>
3
# <<END-copyright>>
4
*/
5
#include <string.h>
6
#include <cmath>
7
8
#include "
MCGIDI_fromTOM.h
"
9
10
#if defined __cplusplus
11
namespace
GIDI {
12
using namespace
GIDI;
13
#endif
14
15
/*
16
************************************************************
17
*/
18
int
MCGIDI_uncorrelated_parseFromTOM
(
statusMessageReporting
*smr,
xDataTOM_element
*element,
MCGIDI_distribution
*distribution,
ptwXYPoints
*norms,
19
enum
MCGIDI_energyType
energyType,
double
gammaEnergy_MeV ) {
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
;
33
distribution->
type
=
MCGIDI_distributionType_uncorrelated_e
;
34
35
return
( 0 );
36
37
err
:
38
return
( 1 );
39
}
40
/*
41
************************************************************
42
*/
43
int
MCGIDI_uncorrelated_sampleDistribution
(
statusMessageReporting
*smr,
MCGIDI_distribution
*distribution,
MCGIDI_quantitiesLookupModes
&modes,
44
MCGIDI_decaySamplingInfo
*decaySamplingInfo ) {
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
}
54
55
#if defined __cplusplus
56
}
57
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
lend
src
MCGIDI_uncorrelated.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:46
using
1.8.2 with
ECCE GitHub integration