Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4EmDNAPhysicsActivator Class Reference

#include <G4EmDNAPhysicsActivator.hh>

+ Inheritance diagram for G4EmDNAPhysicsActivator:

Public Member Functions

 G4EmDNAPhysicsActivator (G4int ver=1)
 
 ~G4EmDNAPhysicsActivator () override=default
 
void ConstructParticle () override
 
void ConstructProcess () override
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
PhysicsBuilder_V GetBuilders () const
 
void AddBuilder (G4PhysicsBuilderInterface *bld)
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel = 0
 
G4String namePhysics = ""
 
G4int typePhysics = 0
 
G4ParticleTabletheParticleTable = nullptr
 
G4int g4vpcInstanceID = 0
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 45 of file G4EmDNAPhysicsActivator.hh.

Constructor & Destructor Documentation

◆ G4EmDNAPhysicsActivator()

G4EmDNAPhysicsActivator::G4EmDNAPhysicsActivator ( G4int ver = 1)
explicit

Definition at line 81 of file G4EmDNAPhysicsActivator.cc.

82 : G4VPhysicsConstructor("G4EmDNAPhysicsActivator"), verbose(ver)
83{
84 theParameters = G4EmParameters::Instance();
85 theParameters->ActivateDNA();
86 theParameters->SetFluo(true);
87}
static G4EmParameters * Instance()
void SetFluo(G4bool val)
G4VPhysicsConstructor(const G4String &="")

◆ ~G4EmDNAPhysicsActivator()

G4EmDNAPhysicsActivator::~G4EmDNAPhysicsActivator ( )
overridedefault

Member Function Documentation

◆ ConstructParticle()

void G4EmDNAPhysicsActivator::ConstructParticle ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 98 of file G4EmDNAPhysicsActivator.cc.

99{
101}
static void ConstructDNAParticles()

◆ ConstructProcess()

void G4EmDNAPhysicsActivator::ConstructProcess ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 105 of file G4EmDNAPhysicsActivator.cc.

106{
107 const std::vector<G4String>& regnamesDNA = theParameters->RegionsDNA();
108 std::size_t nreg = regnamesDNA.size();
109 if(0 == nreg)
110 {
111 return;
112 }
113
114 const std::vector<G4String>& typesDNA = theParameters->TypesDNA();
115 G4bool fast = theParameters->DNAFast();
116 G4bool st = theParameters->DNAStationary();
117
118 const G4double emaxDNA = 1.*CLHEP::MeV;
119 const G4double emaxIonDNA = 300.*CLHEP::MeV;
120 const G4double eminBorn = 500.*CLHEP::keV;
121 const G4double emax = theParameters->MaxKinEnergy();
122
123 if(IsVerbose()) {
124 G4cout << "### G4EmDNAPhysicsActivator::ConstructProcess for " << nreg
125 << " regions; DNA physics type " << G4endl;
126 }
127
128 // list of particles
131
132 G4DNAGenericIonsManager * genericIonsManager =
135 G4ParticleDefinition* alpha1 = genericIonsManager->GetIon("alpha+");
136 G4ParticleDefinition* alpha0 = genericIonsManager->GetIon("helium");
137 G4ParticleDefinition* h0 = genericIonsManager->GetIon("hydrogen");
138
139 // loop over regions
140 for(std::size_t i = 0; i < nreg; ++i)
141 {
142 if(IsVerbose())
143 {
144 G4cout << "### DNA models type " << typesDNA[i]
145 << " are activated for G4Region " << regnamesDNA[i] << G4endl;
146 }
147 const G4Region* reg = G4EmUtility::FindRegion(regnamesDNA[i], verbose);
148 if(nullptr == reg) { continue; }
149 G4int opt = 0;
150 if(typesDNA[i] == "DNA_Opt1") {
151 opt = 1;
152 } else if(typesDNA[i] == "DNA_Opt2") {
153 opt = 2;
154 } else if(typesDNA[i] == "DNA_Opt3") {
155 opt = 3;
156 } else if(typesDNA[i] == "DNA_Opt4") {
157 opt = 4;
158 } else if(typesDNA[i] == "DNA_Opt5") {
159 opt = 4;
160 } else if(typesDNA[i] == "DNA_Opt6") {
161 opt = 6;
162 } else if(typesDNA[i] == "DNA_Opt7") {
163 opt = 6;
164 } else if(typesDNA[i] == "DNA_Opt8") {
165 opt = 8;
166 }
167 DeactivateElectronProcesses(emaxDNA, emax, reg);
168 G4EmDNABuilder::ConstructDNAElectronPhysics(emaxDNA, opt, fast, st, reg);
169 DeactivateHadronProcesses(prot, emaxDNA, emax, reg);
170 G4EmDNABuilder::ConstructDNAProtonPhysics(eminBorn, emaxIonDNA, opt, fast, st, reg);
171 DeactivateIonProcesses(gion, emaxIonDNA, emax, reg);
173 DeactivateIonProcesses(alpha2, emaxIonDNA, emax, reg);
174 G4EmDNABuilder::ConstructDNALightIonPhysics(alpha2, 2, opt, emaxIonDNA, fast, st, reg);
175 DeactivateHadronProcesses(alpha1, emaxIonDNA, emax, reg);
176 G4EmDNABuilder::ConstructDNALightIonPhysics(alpha1, 1, opt, emaxIonDNA, fast, st, reg);
177 G4EmDNABuilder::ConstructDNALightIonPhysics(alpha0, 0, opt, emaxIonDNA, fast, st, reg);
178 G4EmDNABuilder::ConstructDNALightIonPhysics(h0, 0, opt, emaxIonDNA, fast, st, reg);
179 }
180}
double G4double
Definition G4Types.hh:83
bool G4bool
Definition G4Types.hh:86
int G4int
Definition G4Types.hh:85
const G4double alpha2
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
static G4Alpha * Alpha()
Definition G4Alpha.cc:83
static G4DNAGenericIonsManager * Instance()
G4ParticleDefinition * GetIon(const G4String &name)
static void ConstructDNALightIonPhysics(G4ParticleDefinition *part, const G4int charge, const G4int opt, const G4double emax, const G4bool fast, const G4bool stationary, const G4Region *reg=nullptr)
static void ConstructDNAIonPhysics(const G4double emax, const G4bool stationary, const G4Region *reg=nullptr)
static void ConstructDNAProtonPhysics(const G4double e1DNA, const G4double emaxDNA, const G4int opt, const G4bool fast, const G4bool stationary, const G4Region *reg=nullptr)
static void ConstructDNAElectronPhysics(const G4double emaxDNA, const G4int opt, const G4bool fast, const G4bool stationary, const G4Region *reg=nullptr)
G4bool DNAFast() const
G4bool DNAStationary() const
const std::vector< G4String > & TypesDNA() const
const std::vector< G4String > & RegionsDNA() const
G4double MaxKinEnergy() const
static const G4Region * FindRegion(const G4String &regionName, const G4int verbose=0)
static G4GenericIon * GenericIon()
static G4Proton * Proton()
Definition G4Proton.cc:90

The documentation for this class was generated from the following files: