67 G4ThreadLocal std::vector<G4HadronInelasticProcess*>* G4IonINCLXXPhysics::p_list = 0;
68 G4ThreadLocal std::vector<G4HadronicInteraction*>* G4IonINCLXXPhysics::model_list = 0;
81 emax_d = 2 * 3.0 *
GeV;
82 emax_t = 3 * 3.0 *
GeV;
83 emax_he3 = 3 * 3.0 *
GeV;
84 emax_alpha = 4 * 3.0 *
GeV;
85 emax = 16 * 3.0 *
GeV;
89 if(verbose > 1)
G4cout <<
"### G4IonINCLXXPhysics" <<
G4endl;
98 emax_d = 2 * 3.0 *
GeV;
99 emax_t = 3 * 3.0 *
GeV;
100 emax_he3 = 3 * 3.0 *
GeV;
101 emax_alpha = 4 * 3.0 *
GeV;
102 emax = 16 * 3.0 *
GeV;
106 if(verbose > 1)
G4cout <<
"### G4IonINCLXXPhysics" <<
G4endl;
115 delete theBuilder; theBuilder=0;
116 delete theGGNuclNuclXS; theGGNuclNuclXS=0;
117 delete theNuclNuclData; theGGNuclNuclXS=0;
121 for(i=0; i<
n; i++) {
delete (*p_list)[i];}
122 delete p_list; p_list = 0;
125 G4int n = model_list->size();
126 for(i=0; i<
n; i++) {
delete (*model_list)[i];}
127 delete model_list; model_list = 0;
134 if(wasActivated)
return;
138 if ( model_list == 0 ) model_list =
new std::vector<G4HadronicInteraction*>;
139 model_list->push_back(theINCLXXIons);
146 model_list->push_back(theFTFP);
151 AddProcess(
"tInelastic",
G4Triton::Triton(), theINCLXXIons, theFTFP, emax_t);
152 AddProcess(
"He3Inelastic",
G4He3::He3(), theINCLXXIons, theFTFP, emax_he3);
153 AddProcess(
"alphaInelastic",
G4Alpha::Alpha(), theINCLXXIons, theFTFP, emax_alpha);
157 void G4IonINCLXXPhysics::AddProcess(
const G4String&
name,
164 if ( p_list == 0 ) p_list =
new std::vector<G4HadronInelasticProcess*>;
165 p_list->push_back(hadi);
180 <<
" INCLXX/G4DeexcitationHandler for E(MeV)= " << emin <<
" - " << inclxxEnergyUpperLimit;
182 G4cout <<
" FTFP for E(MeV)= " << inclxxEnergyUpperLimit-
MeV <<
" - " << emaxFTFP;
G4IonINCLXXPhysics(G4int ver=0)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4ProcessManager * GetProcessManager() const
const G4String & GetParticleName() const
INCL++ intra-nuclear cascade.
G4HadronicInteraction * GetModel()
virtual ~G4IonINCLXXPhysics()
static void ConstructParticle()
void RegisterMe(G4HadronicInteraction *a)
void SetMinEnergy(G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
G4GLOB_DLL std::ostream G4cout
static G4Triton * Triton()
const G4String & GetProcessName() const
static G4Deuteron * Deuteron()
virtual void ConstructProcess()
static G4GenericIon * GenericIon()
void SetMaxEnergy(const G4double anEnergy)
void SetPhysicsType(G4int)
virtual void ConstructParticle()
#define G4_DECLARE_PHYSCONSTR_FACTORY(physics_constructor)