Geant4 Cross Reference |
1 /* 2 # <<BEGIN-copyright>> 3 # <<END-copyright>> 4 */ 5 6 #include "MCGIDI.h" 7 8 using namespace GIDI; 9 /* ---- MCGIDI_samplingMethods ---- */ 10 /* 11 ========================================================= 12 */ 13 MCGIDI_samplingMethods::MCGIDI_samplingMethods( ) { 14 15 } 16 /* 17 ========================================================= 18 */ 19 MCGIDI_samplingMethods::~MCGIDI_samplingMethods( ) { 20 21 } 22 23 /* ---- MCGIDI_samplingSettings ---- */ 24 /* 25 ========================================================= 26 */ 27 MCGIDI_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 34 mGotFrame = xDataTOM_frame_invalid; 35 mPoP = NULL; 36 mMu = 0.; 37 mEp = 0.; 38 } 39 /* 40 ========================================================= 41 */ 42 MCGIDI_samplingSettings::~MCGIDI_samplingSettings( void ) { 43 44 } 45 /* 46 ========================================================= 47 */ 48 int MCGIDI_samplingSettings::setProductMultiplicityBias( statusMessageReporting *smr, int PoPID, double factor ) { 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 } 65