Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4DNAElectronHoleRecombination Class Reference

#include <G4DNAElectronHoleRecombination.hh>

Inheritance diagram for G4DNAElectronHoleRecombination:
Collaboration diagram for G4DNAElectronHoleRecombination:

Public Member Functions

 G4DNAElectronHoleRecombination ()
 
virtual ~G4DNAElectronHoleRecombination ()
 
void Create ()
 
void StartTracking (G4Track *)
 
virtual G4bool IsApplicable (const G4ParticleDefinition &)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)
 
virtual G4VParticleChangePostStepDoIt (const G4Track &, const G4Step &)
 
virtual G4double GetMeanFreePath (const G4Track &aTrack, G4double previousStepSize, G4ForceCondition *condition)
 
virtual G4double GetMeanLifeTime (const G4Track &aTrack, G4ForceCondition *condition)
 
- Public Member Functions inherited from G4VITRestDiscreteProcess
 G4VITRestDiscreteProcess (const G4String &, G4ProcessType aType=fNotDefined)
 
 G4VITRestDiscreteProcess (const G4VITRestDiscreteProcess &)
 
virtual ~G4VITRestDiscreteProcess ()
 
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *)
 
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)
 
virtual G4VParticleChangeAlongStepDoIt (const G4Track &, const G4Step &)
 
- Public Member Functions inherited from G4VITProcess
 G4VITProcess (const G4String &name, G4ProcessType type=fNotDefined)
 
virtual ~G4VITProcess ()
 
 G4VITProcess (const G4VITProcess &other)
 
G4VITProcessoperator= (const G4VITProcess &other)
 
G4int operator== (const G4VITProcess &right) const
 
G4int operator!= (const G4VITProcess &right) const
 
size_t GetProcessID () const
 
G4shared_ptr< G4ProcessState_LockGetProcessState ()
 
void SetProcessState (G4shared_ptr< G4ProcessState_Lock > aProcInfo)
 
void ResetProcessState ()
 
G4double GetInteractionTimeLeft ()
 
virtual void ResetNumberOfInteractionLengthLeft ()
 
G4bool ProposesTimeStep () const
 
- Public Member Functions inherited from G4VProcess
 G4VProcess (const G4String &aName="NoName", G4ProcessType aType=fNotDefined)
 
 G4VProcess (const G4VProcess &right)
 
virtual ~G4VProcess ()
 
G4int operator== (const G4VProcess &right) const
 
G4int operator!= (const G4VProcess &right) const
 
G4double GetCurrentInteractionLength () const
 
void SetPILfactor (G4double value)
 
G4double GetPILfactor () const
 
G4double AlongStepGPIL (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
 
G4double AtRestGPIL (const G4Track &track, G4ForceCondition *condition)
 
G4double PostStepGPIL (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
virtual void PreparePhysicsTable (const G4ParticleDefinition &)
 
virtual G4bool StorePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
virtual G4bool RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
const G4StringGetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false)
 
const G4StringGetProcessName () const
 
G4ProcessType GetProcessType () const
 
void SetProcessType (G4ProcessType)
 
G4int GetProcessSubType () const
 
void SetProcessSubType (G4int)
 
virtual void EndTracking ()
 
virtual void SetProcessManager (const G4ProcessManager *)
 
virtual const G4ProcessManagerGetProcessManager ()
 
G4double GetNumberOfInteractionLengthLeft () const
 
G4double GetTotalNumberOfInteractionLengthTraversed () const
 
G4bool isAtRestDoItIsEnabled () const
 
G4bool isAlongStepDoItIsEnabled () const
 
G4bool isPostStepDoItIsEnabled () const
 
virtual void DumpInfo () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
virtual void SetMasterProcess (G4VProcess *masterP)
 
const G4VProcessGetMasterProcess () const
 
virtual void BuildWorkerPhysicsTable (const G4ParticleDefinition &part)
 
virtual void PrepareWorkerPhysicsTable (const G4ParticleDefinition &)
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VITProcess
static const size_t & GetMaxProcessIndex ()
 
- Static Public Member Functions inherited from G4VProcess
static const G4StringGetProcessTypeName (G4ProcessType)
 
- Protected Member Functions inherited from G4VITRestDiscreteProcess
 G4VITRestDiscreteProcess ()
 
G4VITRestDiscreteProcessoperator= (const G4VITRestDiscreteProcess &right)
 
- Protected Member Functions inherited from G4VITProcess
void RetrieveProcessInfo ()
 
void CreateInfo ()
 
template<typename T >
T * GetState ()
 
virtual void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
virtual void ClearInteractionTimeLeft ()
 
virtual void ClearNumberOfInteractionLengthLeft ()
 
void SetInstantiateProcessState (G4bool flag)
 
G4bool InstantiateProcessState ()
 
- Protected Member Functions inherited from G4VProcess
void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
void ClearNumberOfInteractionLengthLeft ()
 
- Protected Attributes inherited from G4VITProcess
G4shared_ptr< G4ProcessStatefpState
 
G4bool fProposesTimeStep
 
- Protected Attributes inherited from G4VProcess
const G4ProcessManageraProcessManager
 
G4VParticleChangepParticleChange
 
G4ParticleChange aParticleChange
 
G4double theNumberOfInteractionLengthLeft
 
G4double currentInteractionLength
 
G4double theInitialNumberOfInteractionLength
 
G4String theProcessName
 
G4String thePhysicsTableFileName
 
G4ProcessType theProcessType
 
G4int theProcessSubType
 
G4double thePILfactor
 
G4bool enableAtRestDoIt
 
G4bool enableAlongStepDoIt
 
G4bool enablePostStepDoIt
 
G4int verboseLevel
 

Detailed Description

Definition at line 38 of file G4DNAElectronHoleRecombination.hh.

Constructor & Destructor Documentation

G4DNAElectronHoleRecombination::G4DNAElectronHoleRecombination ( )

Definition at line 106 of file G4DNAElectronHoleRecombination.cc.

106  :
107  G4VITRestDiscreteProcess("G4DNAElectronHoleRecombination", fElectromagnetic)
108 {
109  Create();
110 // G4cout << epsilon(1.0095, 298.) << G4endl;
111 // G4cout << epsilon(1., 293.15) << G4endl;
112 // G4cout << epsilon(0.9277, 423.) << G4endl;
113 // G4cout << epsilon(0.816, 523.) << G4endl;
114 // G4cout << epsilon(0.6, 623) << G4endl;
115 }

Here is the call graph for this function:

G4DNAElectronHoleRecombination::~G4DNAElectronHoleRecombination ( )
virtual

Definition at line 117 of file G4DNAElectronHoleRecombination.cc.

118 {
119 }

Member Function Documentation

G4VParticleChange * G4DNAElectronHoleRecombination::AtRestDoIt ( const G4Track track,
const G4Step  
)
virtual

Reimplemented from G4VITRestDiscreteProcess.

Definition at line 144 of file G4DNAElectronHoleRecombination.cc.

146 {
147  fParticleChange.Initialize(track);
150  MakeReaction(track);
151  return &fParticleChange;
152 }
virtual void ClearNumberOfInteractionLengthLeft()
virtual void ClearInteractionTimeLeft()
virtual void Initialize(const G4Track &)

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void G4DNAElectronHoleRecombination::BuildPhysicsTable ( const G4ParticleDefinition )
inlinevirtual

Reimplemented from G4VITProcess.

Definition at line 49 of file G4DNAElectronHoleRecombination.hh.

49 {}
void G4DNAElectronHoleRecombination::Create ( )

Definition at line 121 of file G4DNAElectronHoleRecombination.cc.

122 {
123  pParticleChange = &fParticleChange;
124  enableAtRestDoIt = true;
125  enableAlongStepDoIt = false;
126  enablePostStepDoIt = true;
127 
128  SetProcessSubType(60);
129 
131  // ie G4DNAElectronHoleRecombination uses a state class
132  // inheriting from G4ProcessState
133 
134  fIsInitialized = false;
135  fProposesTimeStep = true;
136  fpMoleculeDensity = 0;
137 
138  verboseLevel = 0;
139 }
G4int verboseLevel
Definition: G4VProcess.hh:368
G4bool enableAtRestDoIt
Definition: G4VProcess.hh:350
void SetInstantiateProcessState(G4bool flag)
void SetProcessSubType(G4int)
Definition: G4VProcess.hh:432
G4bool enablePostStepDoIt
Definition: G4VProcess.hh:352
G4VParticleChange * pParticleChange
Definition: G4VProcess.hh:283
G4bool fProposesTimeStep
G4bool enableAlongStepDoIt
Definition: G4VProcess.hh:351

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4DNAElectronHoleRecombination::GetMeanFreePath ( const G4Track aTrack,
G4double  previousStepSize,
G4ForceCondition condition 
)
virtual

Implements G4VITRestDiscreteProcess.

Definition at line 386 of file G4DNAElectronHoleRecombination.cc.

389 {
390  // G4cout << "track ID = " << track.GetTrackID()
391  // << " G4DNAElectronHoleRecombination --> ";
392  if(FindReactant(track))
393  {
394  // G4cout << " SELECTED " ;
395  // G4cout << G4endl;
396  return 0;
397  }
398 
399  // G4cout << " NOT SELECTED " << G4endl;
400  return DBL_MAX;
401 }
#define DBL_MAX
Definition: templates.hh:83
G4double G4DNAElectronHoleRecombination::GetMeanLifeTime ( const G4Track aTrack,
G4ForceCondition condition 
)
virtual

Implements G4VITRestDiscreteProcess.

Definition at line 405 of file G4DNAElectronHoleRecombination.cc.

407 {
408 // G4cout << "track ID = " << track.GetTrackID()
409 // << " G4DNAElectronHoleRecombination --> ";
410  if(FindReactant(track))
411  {
412 // G4cout << " SELECTED " ;
413 // G4cout << G4endl;
414  return 0;
415  }
416 
417 // G4cout << " NOT SELECTED " << G4endl;
418  return DBL_MAX;
419 }
#define DBL_MAX
Definition: templates.hh:83
G4bool G4DNAElectronHoleRecombination::IsApplicable ( const G4ParticleDefinition particle)
virtual

Reimplemented from G4VProcess.

Definition at line 308 of file G4DNAElectronHoleRecombination.cc.

309 {
311  {
313  ->GetMoleculeDefinition("H2O", false);
314 
315  if(H2O) // if this condition does not hold => process cannot be applied
316  {
318  G4H2O::Definition()->NewConfiguration("H2Ovib");
319 
320  assert(vib != 0);
321 
323  ->GetConfiguration("H2", false);
325  ->GetConfiguration("OH", false);
327  ->GetConfiguration("H", false);
328 
329  double probaRemaining = 1.;
330 
331  if(OH || H2)
332  {
334  new G4MolecularDissociationChannel("H2Ovib_DissociativeDecay1");
335  if(H2)
336  {
337  diss2->AddProduct(H2);
338  }
339  if(OH)
340  {
341  diss2->AddProduct(OH);
342  diss2->AddProduct(OH);
343  }
344 
345  double proba = 0.15;
346  diss2->SetProbability(proba);
347  probaRemaining -= proba;
349  B1A1_DissociationDecay);
350  G4H2O::Definition()->AddDecayChannel(vib, diss2);
351  }
352 
353  if(OH || H)
354  {
356  new G4MolecularDissociationChannel("H2Ovib_DissociativeDecay2");
357  if(OH)
358  {
359  diss3->AddProduct(OH);
360  }
361  if(H)
362  {
363  diss3->AddProduct(H);
364  }
365  double proba = 0.55;
366  diss3->SetProbability(proba);
367  probaRemaining -= proba;
369  A1B1_DissociationDecay);
370  G4H2O::Definition()->AddDecayChannel(vib, diss3);
371  }
372 
374  new G4MolecularDissociationChannel("H2Ovib_NonDissociative");
375  channel1->SetProbability(probaRemaining);
376  G4H2O::Definition()->AddDecayChannel(vib, channel1);
377  }
378  }
379 
380  if(particle.GetParticleName() == "H2O") return true;
381  return false;
382 }
G4MoleculeDefinition * GetMoleculeDefinition(const G4String &, bool mustExist=true)
static G4H2O * Definition()
Definition: G4H2O.cc:46
void AddDecayChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)
const G4String & GetParticleName() const
G4MolecularConfiguration * NewConfiguration(const G4String &excitedStateLabel)
void AddProduct(const G4Molecule *, G4double=0)
static G4MoleculeTable * Instance()
G4bool IsMasterThread()
Definition: G4Threading.cc:146
G4MolecularConfiguration * GetConfiguration(const G4String &, bool mustExist=true)

Here is the call graph for this function:

G4VParticleChange * G4DNAElectronHoleRecombination::PostStepDoIt ( const G4Track track,
const G4Step step 
)
virtual

Reimplemented from G4VITRestDiscreteProcess.

Definition at line 421 of file G4DNAElectronHoleRecombination.cc.

423 {
424  return AtRestDoIt(track, step);
425 }
virtual G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &)

Here is the call graph for this function:

void G4DNAElectronHoleRecombination::StartTracking ( G4Track track)
virtual

Reimplemented from G4VITProcess.

Definition at line 156 of file G4DNAElectronHoleRecombination.cc.

157 {
159  G4VITProcess::fpState.reset(new State());
161 }
#define State(X)
virtual void StartTracking(G4Track *)
Definition: G4VProcess.cc:101
virtual void StartTracking(G4Track *)
Definition: G4VITProcess.cc:86
G4shared_ptr< G4ProcessState > fpState

Here is the call graph for this function:


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