39 #define State(theXInfo) (GetState<SecondOrderReactionState>()->theXInfo)
85 if (
this == &rhs)
return *
this;
119 exceptionDescription <<
"G4DNASecondOrderReaction was already initialised. ";
120 exceptionDescription <<
"You cannot set a reaction after initialisation.";
121 G4Exception(
"G4DNASecondOrderReaction::SetReaction",
"G4DNASecondOrderReaction001",
150 if(molDensity == 0.0)
152 if(
State(fIsInGoodMaterial))
156 State(fIsInGoodMaterial) =
false;
168 State(fIsInGoodMaterial) =
true;
184 if(
State(fPreviousTimeAtPreStepPoint) != -1)
187 State(fPreviousTimeAtPreStepPoint) ;
196 (previousTimeStep < 0.0) ||
197 (
fpState->theNumberOfInteractionLengthLeft<=0.0)) {
200 }
else if ( previousTimeStep > 0.0) {
217 value =
fpState->theNumberOfInteractionLengthLeft
218 * (
fpState->currentInteractionLength);
224 G4cout <<
"G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength ";
251 G4cout <<
">>> Beginning of G4DNASecondOrderReaction verbose" <<
G4endl;
255 G4cout <<
">>> End of G4DNASecondOrderReaction verbose <<<" <<
G4endl;
262 State(fPreviousTimeAtPreStepPoint) = -1;
The pointer G4MolecularConfiguration will be shared by all the molecules having the same molecule def...
const std::vector< double > * fpMoleculeDensity
static G4DNADamages * Instance()
std::ostringstream G4ExceptionDescription
static G4VScheduler * Instance()
const G4DynamicParticle * GetDynamicParticle() const
G4ParticleChange fParticleChange
void StartTracking(G4Track *)
virtual void ResetNumberOfInteractionLengthLeft()
WARNING : Redefine the method of G4VProcess reset (determine the value of)NumberOfInteractionLengthLe...
virtual G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
const G4Material * fpMaterial
const G4String & GetName() const
const G4ThreeVector & GetPosition() const
void DumpInfo(G4int mode=0) const
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4MolecularConfiguration * GetMolecularConfiguration() const
void SetInstantiateProcessState(G4bool flag)
virtual void SubtractNumberOfInteractionLengthLeft(G4double previousStepSize)
virtual void StartTracking(G4Track *)
const G4String & GetName() const
Returns the name of the molecule.
G4GLOB_DLL std::ostream G4cout
const std::vector< double > * GetNumMolPerVolTableFor(const G4Material *) const
G4double fPreviousTimeAtPreStepPoint
virtual ~G4DNASecondOrderReaction()
virtual void StartTracking(G4Track *)
void SetProcessSubType(G4int)
G4bool enablePostStepDoIt
G4double GetGlobalTime() const
G4Molecule * GetMolecule(const G4Track &track)
const G4String & GetProcessName() const
G4Material * GetMaterial() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
SecondOrderReactionState()
G4DNASecondOrderReaction & operator=(const G4DNASecondOrderReaction &)
G4DNASecondOrderReaction(const G4String &aName="DNASecondOrderReaction", G4ProcessType type=fDecay)
virtual void Initialize(const G4Track &)
void SetReaction(const G4MolecularConfiguration *, const G4Material *, double)
static G4DNAMolecularMaterial * Instance()
G4double GetMassOfMolecule() const
G4VParticleChange * pParticleChange
G4::shared_ptr< G4ProcessState > fpState
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
G4double fMolarMassOfMaterial
G4bool enableAlongStepDoIt
Class Description The dynamic molecule holds all the data that change for a molecule It has a pointer...
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
void ProposeTrackStatus(G4TrackStatus status)
G4VITProcess inherits from G4VProcess.
virtual void AddIndirectDamage(const G4String &baseName, const G4Molecule *molecule, const G4ThreeVector &position, double time)
const G4MolecularConfiguration * fpMolecularConfiguration