Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/lend/src/MCGIDI_quantitiesLookupMode.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 /*  ---- MCGIDI_quantitiesLookupModes ----  */
  9 /*
 10 =========================================================
 11 */
 12 MCGIDI_quantitiesLookupModes::MCGIDI_quantitiesLookupModes( int projectilesPOPID ) {
 13 
 14     mProjectilesPOPID = projectilesPOPID;
 15     mProjectileEnergy = -1.;
 16     mGroupIndex = -1;
 17     mProjectileEnergyForGroupIndex = -1.;
 18     mTemperature = 0.;
 19     mCrossSectionMode = MCGIDI_quantityLookupMode_pointwise;
 20     mMultiplicityMode = MCGIDI_quantityLookupMode_pointwise;
 21 }
 22 /*
 23 =========================================================
 24 */
 25 MCGIDI_quantitiesLookupModes::~MCGIDI_quantitiesLookupModes( ) {
 26 
 27 }
 28 /*
 29 =========================================================
 30 */
 31 int MCGIDI_quantitiesLookupModes::setGroupIndex( GIDI_settings const &settings, bool encloseOutOfRange ) {
 32 
 33     GIDI_settings_particle const *particle = settings.getParticle( mProjectilesPOPID );
 34     if( particle == NULL ) throw 1;
 35 
 36     mGroupIndex = particle->getGroupIndexFromEnergy( mProjectileEnergy, encloseOutOfRange );
 37     if( mGroupIndex == -3 ) throw 1;
 38 
 39     mProjectileEnergyForGroupIndex = mProjectileEnergy;
 40     if( mGroupIndex < 0 ) mProjectileEnergyForGroupIndex = -1;
 41     return( mGroupIndex );
 42 }
 43 /*
 44 =========================================================
 45 */
 46 enum MCGIDI_quantityLookupMode MCGIDI_quantitiesLookupModes::getMode( std::string const &quantity ) const {
 47 
 48     if( quantity == std::string( "cross section" ) ) {
 49         return( mCrossSectionMode ); }
 50     else if( quantity == std::string( "multiplicity" ) ) {
 51         return( mMultiplicityMode ); }
 52     else {
 53         throw 1;
 54     }
 55 }
 56 /*
 57 =========================================================
 58 */
 59 std::vector<std::string> MCGIDI_quantitiesLookupModes::getListOfLookupQuanities( ) const {
 60 
 61     std::vector<std::string> quanities;
 62 
 63     quanities.push_back( std::string( "cross section" ) );
 64     quanities.push_back( std::string( "multiplicity" ) );
 65 
 66     return( quanities );
 67 }
 68 /*
 69 =========================================================
 70 */
 71 void MCGIDI_quantitiesLookupModes::setMode( std::string const &quantity, enum MCGIDI_quantityLookupMode mode ) {
 72 
 73     if( quantity == std::string( "cross section" ) ) {
 74         mCrossSectionMode = mode; }
 75     else if( quantity == std::string( "multiplicity" ) ) {
 76         mMultiplicityMode = mode; }
 77     else {
 78         throw 1;
 79     }
 80 }
 81 /*
 82 =========================================================
 83 */
 84 void MCGIDI_quantitiesLookupModes::setModeAll( enum MCGIDI_quantityLookupMode mode ) {
 85 
 86     mCrossSectionMode = mode;
 87     mMultiplicityMode = mode;
 88 }
 89