Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/lend/src/MCGIDI_samplingSettings.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  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