Geant4 Cross Reference |
1 /* 1 /* 2 # <<BEGIN-copyright>> 2 # <<BEGIN-copyright>> 3 # <<END-copyright>> 3 # <<END-copyright>> 4 */ 4 */ 5 5 6 #include "MCGIDI.h" 6 #include "MCGIDI.h" 7 7 8 using namespace GIDI; 8 using namespace GIDI; 9 /* ---- MCGIDI_samplingMethods ---- */ 9 /* ---- MCGIDI_samplingMethods ---- */ 10 /* 10 /* 11 ============================================== 11 ========================================================= 12 */ 12 */ 13 MCGIDI_samplingMethods::MCGIDI_samplingMethods 13 MCGIDI_samplingMethods::MCGIDI_samplingMethods( ) { 14 14 15 } 15 } 16 /* 16 /* 17 ============================================== 17 ========================================================= 18 */ 18 */ 19 MCGIDI_samplingMethods::~MCGIDI_samplingMethod 19 MCGIDI_samplingMethods::~MCGIDI_samplingMethods( ) { 20 20 21 } 21 } 22 22 23 /* ---- MCGIDI_samplingSettings ---- */ 23 /* ---- MCGIDI_samplingSettings ---- */ 24 /* 24 /* 25 ============================================== 25 ========================================================= 26 */ 26 */ 27 MCGIDI_samplingSettings::MCGIDI_samplingSettin 27 MCGIDI_samplingSettings::MCGIDI_samplingSettings( enum xDataTOM_frame frame, bool wantVelocities, double (*rng)( void * ), void *rngState ) { 28 28 29 mWantFrame = frame; 29 mWantFrame = frame; 30 mWantVelocities = wantVelocities; 30 mWantVelocities = wantVelocities; 31 mRng = rng; 31 mRng = rng; 32 mRngState = rngState; 32 mRngState = rngState; 33 33 34 mGotFrame = xDataTOM_frame_invalid; 34 mGotFrame = xDataTOM_frame_invalid; 35 mPoP = NULL; 35 mPoP = NULL; 36 mMu = 0.; 36 mMu = 0.; 37 mEp = 0.; 37 mEp = 0.; 38 } 38 } 39 /* 39 /* 40 ============================================== 40 ========================================================= 41 */ 41 */ 42 MCGIDI_samplingSettings::~MCGIDI_samplingSetti 42 MCGIDI_samplingSettings::~MCGIDI_samplingSettings( void ) { 43 43 44 } 44 } 45 /* 45 /* 46 ============================================== 46 ========================================================= 47 */ 47 */ 48 int MCGIDI_samplingSettings::setProductMultipl 48 int MCGIDI_samplingSettings::setProductMultiplicityBias( statusMessageReporting *smr, int PoPID, double factor ) { 49 49 50 if( factor < 0 ) { 50 if( factor < 0 ) { 51 smr_setReportError2( smr, smr_unknownI 51 smr_setReportError2( smr, smr_unknownID, 1, "factor = %e cannot be negative", factor ); 52 return( 1 ); 52 return( 1 ); 53 } 53 } 54 54 55 for( int i1 = 0; i1 < (int) mSamplingMulti 55 for( int i1 = 0; i1 < (int) mSamplingMultiplicityBiases.size( ); ++i1 ) { 56 if( PoPID == mSamplingMultiplicityBias 56 if( PoPID == mSamplingMultiplicityBiases[i1].PoPID ) { 57 mSamplingMultiplicityBiases[i1].mu 57 mSamplingMultiplicityBiases[i1].multiplicityFactor = factor; 58 return( 0 ); 58 return( 0 ); 59 } 59 } 60 } 60 } 61 MCGIDI_samplingMultiplicityBias samplingMu 61 MCGIDI_samplingMultiplicityBias samplingMultiplicityBias = { PoPID, factor }; 62 mSamplingMultiplicityBiases.push_back( sam 62 mSamplingMultiplicityBiases.push_back( samplingMultiplicityBias ); 63 return( 0 ); 63 return( 0 ); 64 } 64 } 65 65