44 #ifdef CEXMC_USE_GENBOD    53     extern int  genbod_( 
void );
    57 extern struct  genbod_in_data
    66 extern struct  genbod_out_data
    73 CexmcGenbod::CexmcGenbod()
    80 G4bool  CexmcGenbod::CheckKinematics( 
void )
    83     for ( CexmcPhaseSpaceInVector::const_iterator  k( inVec.begin() );
    84                                                         k != inVec.end(); ++k )
    86         totalEnergy += ( *k )->e();
    94     return totalEnergy - totalMass > 0.0f + 
epsilon;
    98 G4double  CexmcGenbod::Generate( 
void )
   100     genin_.tecm = totalEnergy / 
GeV;
   104     float ( *pcm )[ 5 ]( &genout_.pcm[ 0 ] );
   106     for ( CexmcPhaseSpaceOutVector::iterator  k( outVec.begin() );
   107                                                         k != outVec.end(); ++k )
   109         k->lVec->setPx( ( *pcm )[ 0 ] * 
GeV );
   110         k->lVec->setPy( ( *pcm )[ 1 ] * GeV );
   111         k->lVec->setPz( ( *pcm )[ 2 ] * GeV );
   112         k->lVec->setE( ( *pcm++ )[ 3 ] * GeV );
   119 void  CexmcGenbod::ParticleChangeHook( 
void )
   121     size_t  nmbOfOutputParticles( outVec.size() );
   123     if ( nmbOfOutputParticles < 2 || nmbOfOutputParticles > 18 )
   126     genin_.np = nmbOfOutputParticles;
   128     float *  amass( genin_.amass );
   130     for ( CexmcPhaseSpaceOutVector::const_iterator  k( outVec.begin() );
   131                                                         k != outVec.end(); ++k )
   133         *amass++ = k->mass / 
GeV;
   138 void  CexmcGenbod::FermiEnergyDepStatusChangeHook( 
void )
   140     genin_.kgenev = fermiEnergyDepIsOn ? 2 : 1;
 
double epsilon(double density, double temperature)