ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MCGIDI_samplingSettings.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MCGIDI_samplingSettings.cc
1 /*
2 # <<BEGIN-copyright>>
3 # <<END-copyright>>
4 */
5 
6 #include "MCGIDI.h"
7 
8 using namespace GIDI;
9 /* ---- MCGIDI_samplingMethods ---- */
10 /*
11 =========================================================
12 */
14 
15 }
16 /*
17 =========================================================
18 */
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 */
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 }