51 G4DNAMolecularDissociation::
 
   52 G4DNAMolecularDissociation(
const G4String& processName,
 
   67     G4cout << 
"G4MolecularDissociationProcess constructor " << 
"  Name:" 
   74   fDecayAtFixedTime = 
true;
 
   82   DisplacementMap::iterator it = fDisplacementMap.begin();
 
   84   for(; it != fDisplacementMap.end(); it++)
 
   92   fDisplacementMap.clear();
 
   97 G4DNAMolecularDissociation::
 
  101   fDecayAtFixedTime = right.fDecayAtFixedTime;
 
  102   fDisplacementMap = right.fDisplacementMap;
 
  103   fVerbose = right.fVerbose;
 
  117       G4cout << 
"G4MolecularDissociation::IsApplicable(";
 
  136   return (output > 0 ? output : 0);
 
  159     const vector<const G4MolecularDissociationChannel*>* DecayVector =
 
  166       exceptionDescription << 
"No decay channel was found for the molecule : " 
  169                   "G4DNAMolecularDissociation::NoDecayChannel",
 
  171                   exceptionDescription);
 
  175     G4int DecayVectorSize = DecayVector->size();
 
  184       decayChannel = (*DecayVector)[i];
 
  185       if(RdmValue < decayChannel->GetProbability()) 
break;
 
  189     while(i < DecayVectorSize);
 
  213       vector<G4ThreeVector> ProductsDisplacement(nbProducts);
 
  216       DisplacementMap::iterator it =
 
  217           fDisplacementMap.find(moleculeDefinition);
 
  219       if(it != fDisplacementMap.end())
 
  223         theMotherMoleculeDisplacement =
 
  229         errMsg << 
"No G4MolecularDecayProcess::theDecayDisplacementMap[" 
  230                << theMotherMolecule->
GetName() + 
"]";
 
  232                     "DNAMolecularDecay001",
 
  246                << 
" (trackID :" << track.
GetTrackID() << 
") " 
  255       for(
G4int j = 0; j < nbProducts; j++)
 
  260             + ProductsDisplacement[j];
 
  261         double mag_displacement = displacement.
mag();
 
  263           displacement/(mag_displacement+1e-30);
 
  269                                  displacement_direction,
 
  274         mag_displacement = 
min(prNewSafety*0.8, mag_displacement);
 
  277                        + displacement_direction * mag_displacement;
 
  280             ->GetGlobalToLocalTransform();
 
  288           G4cout << 
"Mother volume: " 
  292                       "OUTSIDE_OF_MOTHER_VOLUME",
 
  294                       "Product has been placed outside of the volume " 
  295                       "containing the mother molecule");
 
  317     else if(fVerbose && decayEnergy)
 
  347   fDisplacementMap[molDef] = aDisplacer;
 
  356   return fDisplacementMap[molDef];
 
  365   fDisplacementMap[molDef] = aDisplacer;
 
  374   return fDisplacementMap[molDef];
 
void SetTrackStatus(const G4TrackStatus aTrackStatus)
 
virtual G4double GetMeanLifeTime(const G4Track &, G4ForceCondition *)
 
Identical to G4VRestDiscreteProcess with dependency from G4VITProcess. 
 
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel() const 
 
G4VMolecularDecayDisplacer * GetDecayDisplacer(const G4ParticleDefinition *)
 
G4VMolecularDecayDisplacer * GetDisplacer(const G4ParticleDefinition *)
 
virtual G4VSolid * GetSolid(G4int depth=0) const 
 
std::ostringstream G4ExceptionDescription
 
G4double GetProperTime() const 
 
const G4ThreeVector & GetPosition() const 
 
G4int GetNbProducts() const 
 
const G4String & GetParticleName() const 
 
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
 
G4double GetEnergy() const 
 
const G4String & GetName() const 
 
static G4ITTransportationManager * GetTransportationManager()
 
G4GLOB_DLL std::ostream G4cout
 
void SetDisplacer(const G4ParticleDefinition *, G4VMolecularDecayDisplacer *)
 
const G4String & GetName() const 
 
virtual EInside Inside(const G4ThreeVector &p) const =0
 
G4MolecularConfiguration * GetProduct(int) const 
 
virtual G4VParticleChange * DecayIt(const G4Track &, const G4Step &)
 
virtual std::vector< G4ThreeVector > GetProductsDisplacement(const G4MolecularDissociationChannel *) const =0
 
void SetProcessSubType(G4int)
 
const G4String & GetParticleType() const 
 
virtual ~G4DNAMolecularDissociation()
 
G4bool enablePostStepDoIt
 
G4double GetGlobalTime() const 
 
G4Molecule * GetMolecule(const G4Track &track)
 
const G4MoleculeDefinition * GetDefinition() const 
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4Track * BuildTrack(G4double globalTime, const G4ThreeVector &Position)
 
virtual void Initialize(const G4Track &)
 
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const 
 
void SetNumberOfSecondaries(G4int totSecondaries)
 
const G4VTouchable * GetTouchable() const 
 
G4ITNavigator * GetNavigatorForTracking() const 
 
const G4String & GetName() const 
 
G4VParticleChange * pParticleChange
 
G4ParticleChange aParticleChange
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
G4double GetProbability() const 
 
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
G4bool enableAlongStepDoIt
 
void SetDecayDisplacer(const G4ParticleDefinition *, G4VMolecularDecayDisplacer *)
 
virtual G4ThreeVector GetMotherMoleculeDisplacement(const G4MolecularDissociationChannel *) const =0
 
void ProposeTrackStatus(G4TrackStatus status)
 
G4double GetDecayTime() const 
 
const G4MolecularDissociationTable * GetDecayTable() const 
 
virtual G4bool IsApplicable(const G4ParticleDefinition &)