TShielding< T > Class Template Reference

#include <Shielding.hh>


Public Member Functions

 TShielding (G4int verbose=1, G4String low_energy_neutron_model="HP")
virtual ~TShielding ()
virtual void SetCuts ()


Detailed Description

template<class T>
class TShielding< T >

Definition at line 49 of file Shielding.hh.


Constructor & Destructor Documentation

template<class T>
TShielding< T >::TShielding ( G4int  verbose = 1,
G4String  low_energy_neutron_model = "HP" 
)

Definition at line 69 of file Shielding.icc.

References G4cout, G4endl, lend, neutron, photon, radioactive, and HadronPhysicsShielding::UseLEND().

00069                                                                               :  T()
00070 {
00071   // default cut value  (1.0mm) 
00072   // defaultCutValue = 1.0*CLHEP::mm;
00073   G4DataQuestionaire it(photon, neutron, radioactive);
00074   G4cout << "<<< Geant4 Physics List simulation engine: Shielding 2.0"<<G4endl;
00075   G4cout <<G4endl;
00076   this->defaultCutValue = 0.7*CLHEP::mm;  
00077   this->SetVerboseLevel(verbose);
00078 
00079  // EM Physics
00080   this->RegisterPhysics( new G4EmStandardPhysics(verbose));
00081 
00082   // Synchroton Radiation & GN Physics
00083   this->RegisterPhysics( new G4EmExtraPhysics(verbose) );
00084 
00085   // Decays 
00086   this->RegisterPhysics( new G4DecayPhysics(verbose) );
00087   //if ( rad == true ) this->RegisterPhysics( new G4RadioactiveDecayPhysics(verbose) );
00088   this->RegisterPhysics( new G4RadioactiveDecayPhysics(verbose) );
00089 
00090   size_t find = LEN_model.find("LEND__");
00091 G4cout << LEN_model << G4endl;
00092   G4String evaluation;
00093   if ( find != G4String::npos )
00094   {
00095 G4cout << LEN_model << G4endl;
00096       evaluation=LEN_model;
00097       evaluation.erase(0,find+6);
00098       LEN_model="LEND";
00099   }
00100 
00101   // Hadron Elastic scattering
00102   if ( LEN_model == "HP" ) 
00103   {
00104      this->RegisterPhysics( new G4HadronElasticPhysicsHP(verbose) );
00105   }
00106   else if ( LEN_model == "LEND" ) 
00107   {
00108      this->RegisterPhysics( new G4HadronElasticPhysicsLEND(verbose,evaluation) );
00109      G4DataQuestionaire itt(lend);
00110   }
00111   else 
00112   {
00113      G4cout << "Shielding Physics List: Warning!" <<G4endl;
00114      G4cout << "\"" << LEN_model << "\" is not valid for the low energy neutorn model." <<G4endl;
00115      G4cout << "Neutron HP package will be used." <<G4endl;
00116      this->RegisterPhysics( new G4HadronElasticPhysicsHP(verbose) );
00117   } 
00118 
00119    // Hadron Physics
00120   HadronPhysicsShielding* hps = new HadronPhysicsShielding(verbose);
00121   if ( LEN_model == "HP" ) 
00122   {
00123      ;
00124   }
00125   else if ( LEN_model == "LEND" ) 
00126   {
00127      hps->UseLEND(evaluation); 
00128   }
00129   else 
00130   {
00131      //G4cout << "Shielding Physics List: Warning." <<G4endl;
00132      //G4cout << "Name of Low Energy Neutron model " << LEN_model << " is invalid." <<G4endl;
00133      //G4cout << "Will use neutron HP package." <<G4endl;
00134   }
00135   this->RegisterPhysics( hps );
00136   //this->RegisterPhysics( new HadronPhysicsShielding(verbose,lend));
00137 
00138 
00139   // Stopping Physics
00140   this->RegisterPhysics( new G4StoppingPhysics(verbose) );
00141 
00142   // Ion Physics
00143   this->RegisterPhysics( new G4IonQMDPhysics(verbose));
00144   
00145   // Neutron tracking cut --> not by default
00146   // this->RegisterPhysics( new G4NeutronTrackingCut(verbose));
00147 
00148 }

template<class T>
TShielding< T >::~TShielding (  )  [virtual]

Definition at line 150 of file Shielding.icc.

00151 {
00152 }


Member Function Documentation

template<class T>
void TShielding< T >::SetCuts (  )  [virtual]

Definition at line 154 of file Shielding.icc.

References G4cout.

00155 {
00156   if (this->verboseLevel >1){
00157     G4cout << "Shielding::SetCuts:";
00158   }  
00159   //  " G4VUserPhysicsList::SetCutsWithDefault" method sets 
00160   //   the default cut value for all particle types 
00161 
00162   this->SetCutsWithDefault();   
00163  
00164 //  if (this->verboseLevel > 0)
00165 //    G4VUserPhysicsList::DumpCutValuesTable();  
00166 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:54:04 2013 for Geant4 by  doxygen 1.4.7