72 G4ThreadLocal std::vector<G4HadronInelasticProcess*>* G4IonBinaryCascadePhysics::G4MT_p_list = 0;
73 G4ThreadLocal std::vector<G4HadronicInteraction*>* G4IonBinaryCascadePhysics::G4MT_model_list = 0;
90 if(verbose > 1)
G4cout <<
"### G4IonBinaryCascadePhysics" <<
G4endl;
104 if(verbose > 1)
G4cout <<
"### G4IonBinaryCascadePhysics" <<
G4endl;
114 delete theBuilder; theBuilder = 0;
115 delete theGGNuclNuclXS; theGGNuclNuclXS = 0;
116 delete theNuclNuclData; theNuclNuclData = 0;
119 G4int n = G4MT_p_list->size();
120 for(i=0; i<
n; i++) {
delete (*G4MT_p_list)[i];}
124 if ( G4MT_model_list ) {
125 G4int n = G4MT_model_list->size();
126 for(i=0; i<
n; i++) {
delete (*G4MT_model_list)[i];}
127 delete G4MT_model_list;
136 if(wasActivated) {
return; }
147 if ( G4MT_model_list == 0 ) G4MT_model_list =
new std::vector<G4HadronicInteraction*>;
148 G4MT_model_list->push_back(theIonBC);
154 G4MT_model_list->push_back(theFTFP);
166 void G4IonBinaryCascadePhysics::AddProcess(
const G4String&
name,
169 if ( G4MT_p_list == 0 ) G4MT_p_list =
new std::vector<G4HadronInelasticProcess*>;
171 G4MT_p_list->push_back(hadi);
G4IonBinaryCascadePhysics(G4int ver=0)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4HadronicInteraction * GetModel()
static void ConstructParticle()
void RegisterMe(G4HadronicInteraction *a)
static constexpr double TeV
virtual ~G4IonBinaryCascadePhysics()
void SetMinEnergy(G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
G4GLOB_DLL std::ostream G4cout
virtual void ConstructParticle()
static G4Triton * Triton()
static G4Deuteron * Deuteron()
G4HadronicInteraction * FindModel(const G4String &name)
static G4GenericIon * GenericIon()
G4ProcessManager * GetProcessManager() const
static G4HadronicInteractionRegistry * Instance()
virtual void ConstructProcess()
static constexpr double GeV
void SetMaxEnergy(const G4double anEnergy)
void SetPhysicsType(G4int)
#define G4_DECLARE_PHYSCONSTR_FACTORY(physics_constructor)