Geant4-11
MCGIDI_samplingSettings.cc
Go to the documentation of this file.
1/*
2# <<BEGIN-copyright>>
3# <<END-copyright>>
4*/
5
6#include "MCGIDI.h"
7
8using namespace GIDI;
9/* ---- MCGIDI_samplingMethods ---- */
10/*
11=========================================================
12*/
14
15}
16/*
17=========================================================
18*/
20
21}
22
23/* ---- MCGIDI_samplingSettings ---- */
24/*
25=========================================================
26*/
27MCGIDI_samplingSettings::MCGIDI_samplingSettings( enum xDataTOM_frame frame, bool wantVelocities, double (*rng)( void * ), void *rngState ) {
28
29 mWantFrame = frame;
30 mWantVelocities = wantVelocities;
31 mRng = rng;
32 mRngState = rngState;
33
35 mPoP = NULL;
36 mMu = 0.;
37 mEp = 0.;
38}
39/*
40=========================================================
41*/
43
44}
45/*
46=========================================================
47*/
49
50 if( factor < 0 ) {
51 smr_setReportError2( smr, smr_unknownID, 1, "factor = %e cannot be negative", factor );
52 return( 1 );
53 }
54
55 for( int i1 = 0; i1 < (int) mSamplingMultiplicityBiases.size( ); ++i1 ) {
56 if( PoPID == mSamplingMultiplicityBiases[i1].PoPID ) {
57 mSamplingMultiplicityBiases[i1].multiplicityFactor = factor;
58 return( 0 );
59 }
60 }
61 MCGIDI_samplingMultiplicityBias samplingMultiplicityBias = { PoPID, factor };
62 mSamplingMultiplicityBiases.push_back( samplingMultiplicityBias );
63 return( 0 );
64}
MCGIDI_samplingSettings(enum GIDI::xDataTOM_frame frame, bool wantVelocities, double(*rng)(void *), void *rngState)
enum GIDI::xDataTOM_frame mWantFrame
Definition: MCGIDI.h:131
int setProductMultiplicityBias(GIDI::statusMessageReporting *smr, int PoPID, double fractor)
GIDI::MCGIDI_POP * mPoP
Definition: MCGIDI.h:139
double(* mRng)(void *)
Definition: MCGIDI.h:133
std::vector< struct MCGIDI_samplingMultiplicityBias_s > mSamplingMultiplicityBiases
Definition: MCGIDI.h:135
enum GIDI::xDataTOM_frame mGotFrame
Definition: MCGIDI.h:138
#define smr_setReportError2(smr, libraryID, code, fmt,...)
#define smr_unknownID
xDataTOM_frame
Definition: xDataTOM.h:23
@ xDataTOM_frame_invalid
Definition: xDataTOM.h:23