Geant4  10.02.p03
G4Molecule Class Reference

#include <G4Molecule.hh>

Inheritance diagram for G4Molecule:
Collaboration diagram for G4Molecule:

Public Member Functions

 ITDef (G4Molecule) void Print() const
 
void * operator new (size_t)
 
void operator delete (void *)
 
 G4Molecule (const G4Molecule &)
 
G4Moleculeoperator= (const G4Molecule &right)
 
G4bool operator== (const G4Molecule &right) const
 
G4bool operator!= (const G4Molecule &right) const
 
G4bool operator< (const G4Molecule &right) const
 
 operator int () const
 
virtual G4ITType GetITSubType () const
 
 G4Molecule (G4MoleculeDefinition *molecule)
 
 G4Molecule (G4MoleculeDefinition *molDef, int charge)
 
 G4Molecule (G4MoleculeDefinition *molecule, G4int, G4int)
 
 G4Molecule (G4MoleculeDefinition *molecule, G4int, G4bool)
 
 G4Molecule (G4MolecularConfiguration *)
 
virtual ~G4Molecule ()
 
const G4StringGetName () const
 
const G4StringGetFormatedName () const
 
G4int GetAtomsNumber () const
 
void SetElectronOccupancy (const G4ElectronOccupancy *)
 
void ExciteMolecule (G4int)
 
void IonizeMolecule (G4int)
 
void AddElectron (G4int orbit, G4int n=1)
 
void RemoveElectron (G4int, G4int number=1)
 
void MoveOneElectron (G4int, G4int)
 
G4double GetNbElectrons () const
 
void PrintState () const
 
G4Track * BuildTrack (G4double globalTime, const G4ThreeVector &Position)
 
G4double GetKineticEnergy () const
 
G4double GetDiffusionVelocity () const
 
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel () const
 
G4int GetFakeParticleID () const
 
G4int GetMoleculeID () const
 
const G4MoleculeDefinitionGetDefinition () const
 
void SetDiffusionCoefficient (G4double)
 
G4double GetDiffusionCoefficient () const
 
G4double GetDiffusionCoefficient (const G4Material *, double temperature) const
 
void SetDecayTime (G4double)
 
G4double GetDecayTime () const
 
void SetVanDerVaalsRadius (G4double)
 
G4double GetVanDerVaalsRadius () const
 
const G4ElectronOccupancyGetElectronOccupancy () const
 
G4int GetCharge () const
 
void SetMass (G4double)
 
G4double GetMass () const
 
const G4StringGetLabel () const
 
void SetLabel (const G4String &label)
 
void ChangeConfigurationToLabel (const G4String &label)
 
G4MolecularConfigurationGetMolecularConfiguration () const
 
- Public Member Functions inherited from G4IT
 G4IT ()
 
 G4IT (G4Track *)
 
virtual ~G4IT ()
 
virtual void Print () const
 
virtual G4bool diff (const G4IT &right) const =0
 
virtual G4bool equal (const G4IT &right) const =0
 
G4bool operator< (const G4IT &right) const
 
G4bool operator== (const G4IT &right) const
 
G4bool operator!= (const G4IT &right) const
 
void SetTrack (G4Track *)
 
G4Track * GetTrack ()
 
const G4Track * GetTrack () const
 
void RecordCurrentPositionNTime ()
 
const G4ThreeVectorGetPosition () const
 
double operator[] (int i) const
 
const G4ThreeVectorGetPreStepPosition () const
 
G4double GetPreStepLocalTime () const
 
G4double GetPreStepGlobalTime () const
 
void SetPrevious (G4IT *)
 
void SetNext (G4IT *)
 
G4ITGetPrevious ()
 
G4ITGetNext ()
 
const G4ITGetPrevious () const
 
const G4ITGetNext () const
 
void SetITBox (G4ITBox *)
 
const G4ITBoxGetITBox () const
 
void TakeOutBox ()
 
void SetNode (G4KDNode_Base *)
 
G4KDNode_BaseGetNode () const
 
void SetParentID (int, int)
 
void GetParentID (int &, int &)
 
G4TrackingInformationGetTrackingInfo ()
 
G4TrackListNodeGetListNode ()
 
void SetListNode (G4TrackListNode *node)
 
virtual const G4ITType GetITType () const =0
 

Static Public Member Functions

static G4MoleculeGetMolecule (const G4Track *)
 

Private Member Functions

 G4Molecule ()
 

Private Attributes

G4MolecularConfigurationfpMolecularConfiguration
 

Additional Inherited Members

- Public Types inherited from G4IT
enum  ELimited {
  kDoNot, kUnique, kSharedTransport, kSharedOther,
  kUndefLimited
}
 
- Protected Member Functions inherited from G4IT
 G4IT (const G4IT &)
 
G4IToperator= (const G4IT &)
 
- Protected Attributes inherited from G4IT
G4Track * fpTrack
 

Detailed Description

Class Description The dynamic molecule holds all the data that change for a molecule It has a pointer to G4MoleculeDefinition object, which holds all the "ground level" information.

Definition at line 94 of file G4Molecule.hh.

Constructor & Destructor Documentation

◆ G4Molecule() [1/7]

G4Molecule::G4Molecule ( const G4Molecule right)

Definition at line 97 of file G4Molecule.cc.

97  :
98  G4VUserTrackInformation("G4Molecule"), G4IT(right)
99 {
101 }
G4IT()
Definition: G4IT.cc:63
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290

◆ G4Molecule() [2/7]

G4Molecule::G4Molecule ( G4MoleculeDefinition moleculeDefinition)

To build a molecule at ground state according to a given G4MoleculeDefinition that can be obtained from G4GenericMoleculeManager

Build a molecule at ground state according to a given G4MoleculeDefinition that can be obtained from G4GenericMoleculeManager

Definition at line 172 of file G4Molecule.cc.

172  :
173  G4VUserTrackInformation("G4Molecule"), G4IT()
175 {
178 }
G4IT()
Definition: G4IT.cc:63
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)

◆ G4Molecule() [3/7]

G4Molecule::G4Molecule ( G4MoleculeDefinition molDef,
int  charge 
)

Definition at line 182 of file G4Molecule.cc.

183 {
186  charge);
187 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)
Here is the call graph for this function:

◆ G4Molecule() [4/7]

G4Molecule::G4Molecule ( G4MoleculeDefinition moleculeDefinition,
G4int  OrbitalToFree,
G4int  OrbitalToFill 
)

To build a molecule at a specific excitation/ionisation state according to a ground state that can be obtained from G4GenericMoleculeManager

Build a molecule at a specific excitation/ionisation state according to a ground state that can be obtained from G4GenericMoleculeManager. Put 0 in the second option if this is a ionisation.

Definition at line 195 of file G4Molecule.cc.

197  :
198  G4VUserTrackInformation("G4Molecule"), G4IT()
200 {
201  if (moleculeDefinition->GetGroundStateElectronOccupancy())
202  {
203  G4ElectronOccupancy dynElectronOccupancy(
204  *moleculeDefinition->GetGroundStateElectronOccupancy());
205 
206  if (OrbitalToFill != 0)
207  {
208  dynElectronOccupancy.RemoveElectron(OrbitalToFree - 1, 1);
209  dynElectronOccupancy.AddElectron(OrbitalToFill - 1, 1);
210  // dynElectronOccupancy.DumpInfo(); // DEBUG
211  }
212 
213  if (OrbitalToFill == 0)
214  {
215  dynElectronOccupancy.RemoveElectron(OrbitalToFree - 1, 1);
216  // dynElectronOccupancy.DumpInfo(); // DEBUG
217  }
218 
221  moleculeDefinition, dynElectronOccupancy);
222  }
223  else
224  {
226  G4Exception(
227  "G4Molecule::G4Molecule(G4MoleculeDefinition * moleculeDefinition, "
228  "G4int OrbitalToFree, G4int OrbitalToFill)",
229  "G4Molecule_wrong_usage_of_constructor",
231  "If you want to use this constructor, the molecule definition has to be "
232  "first defined with electron occupancies");
233  }
234 }
G4IT()
Definition: G4IT.cc:63
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4int RemoveElectron(G4int orbit, G4int number=1)

◆ G4Molecule() [5/7]

G4Molecule::G4Molecule ( G4MoleculeDefinition moleculeDefinition,
G4int  Level,
G4bool  Excitation 
)

Specific builder for water molecules to be used in Geant4-DNA, the last option Excitation is true if the molecule is excited, is false is the molecule is ionized.

Definition at line 242 of file G4Molecule.cc.

244  :
245  G4VUserTrackInformation("G4Molecule"), G4IT()
246 {
247  if (moleculeDefinition->GetGroundStateElectronOccupancy())
248  {
249  G4ElectronOccupancy dynElectronOccupancy(
250  *moleculeDefinition->GetGroundStateElectronOccupancy());
251 
252  if (Excitation == true)
253  {
254  dynElectronOccupancy.RemoveElectron(Level, 1);
255  dynElectronOccupancy.AddElectron(5, 1);
256  // dynElectronOccupancy.DumpInfo(); // DEBUG
257  }
258 
259  if (Excitation == false)
260  {
261  dynElectronOccupancy.RemoveElectron(Level, 1);
262  // dynElectronOccupancy.DumpInfo(); // DEBUG
263  }
264 
267  moleculeDefinition, dynElectronOccupancy);
268  }
269  else
270  {
272  G4Exception(
273  "G4Molecule::G4Molecule(G4MoleculeDefinition * moleculeDefinition, "
274  "G4int OrbitalToFree, G4int OrbitalToFill)",
275  "G4Molecule_wrong_usage_of_constructor",
277  "If you want to use this constructor, the molecule definition has to be "
278  "first defined with electron occupancies");
279 
280  }
281 }
G4IT()
Definition: G4IT.cc:63
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4int RemoveElectron(G4int orbit, G4int number=1)
Here is the call graph for this function:

◆ G4Molecule() [6/7]

G4Molecule::G4Molecule ( G4MolecularConfiguration molConf)

Definition at line 285 of file G4Molecule.cc.

286 {
287  fpMolecularConfiguration = molConf;
288 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290

◆ ~G4Molecule()

G4Molecule::~G4Molecule ( )
virtual

Definition at line 153 of file G4Molecule.cc.

154 {
155  if (fpTrack != NULL)
156  {
158  {
160  fpMolecularConfiguration, fpTrack->GetGlobalTime());
161  }
162  fpTrack = 0;
163  }
165 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
static G4MoleculeCounter * GetMoleculeCounter()
virtual void RemoveAMoleculeAtTime(G4MolecularConfiguration *, G4double time, int number=1)
G4Track * fpTrack
Definition: G4IT.hh:164
Here is the call graph for this function:
Here is the caller graph for this function:

◆ G4Molecule() [7/7]

G4Molecule::G4Molecule ( )
private

Default molecule builder

Definition at line 144 of file G4Molecule.cc.

144  :
145  G4VUserTrackInformation("G4Molecule"), G4IT()
146 
147 {
149 }
G4IT()
Definition: G4IT.cc:63
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the caller graph for this function:

Member Function Documentation

◆ AddElectron()

void G4Molecule::AddElectron ( G4int  orbit,
G4int  n = 1 
)

Add n electrons to a given orbit. Note : You can add as many electrons to a given orbit, the result may be unrealist.

Definition at line 321 of file G4Molecule.cc.

322 {
324  number);
325 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
G4MolecularConfiguration * AddElectron(G4int orbit, G4int n=1)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ BuildTrack()

G4Track * G4Molecule::BuildTrack ( G4double  globalTime,
const G4ThreeVector Position 
)

Definition at line 380 of file G4Molecule.cc.

382 {
383  if (fpTrack != 0)
384  {
385  G4Exception("G4Molecule::BuildTrack", "Molecule001", FatalErrorInArgument,
386  "A track was already assigned to this molecule");
387  }
388 
389  // Kinetic Values
390  // Set a random direction to the molecule
391  G4double costheta = (2 * G4UniformRand()-1);
392  G4double theta = acos(costheta);
393  G4double phi = 2 * pi * G4UniformRand();
394 
395  G4double xMomentum = cos(phi) * sin(theta);
396  G4double yMomentum = sin(theta) * sin(phi);
397  G4double zMomentum = costheta;
398 
399  G4ThreeVector MomentumDirection(xMomentum, yMomentum, zMomentum);
400  G4double KineticEnergy = GetKineticEnergy();
401 
402  G4DynamicParticle* dynamicParticle = new G4DynamicParticle(
403  fpMolecularConfiguration->GetDefinition(), MomentumDirection,
404  KineticEnergy);
405 
407  {
409  globalTime);
410  }
411 
412  //Set the Track
413  fpTrack = new G4Track(dynamicParticle, globalTime, position);
414  fpTrack->SetUserInformation(this);
415 
416  return fpTrack;
417 }
const G4MoleculeDefinition * GetDefinition() const
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
static G4MoleculeCounter * GetMoleculeCounter()
#define G4UniformRand()
Definition: Randomize.hh:97
static G4bool InUse()
G4Track * fpTrack
Definition: G4IT.hh:164
virtual void AddAMoleculeAtTime(G4MolecularConfiguration *, G4double time, int number=1)
G4double GetKineticEnergy() const
Definition: G4Molecule.cc:421
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static const double pi
Definition: G4SIunits.hh:74
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ChangeConfigurationToLabel()

void G4Molecule::ChangeConfigurationToLabel ( const G4String label)

Definition at line 600 of file G4Molecule.cc.

601 {
602  // TODO check fpMolecularConfiguration already exists
603  // and new one as well
604  // TODO notify for stack change
608 
609  assert(fpMolecularConfiguration!=0);
610 }
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)
const G4MoleculeDefinition * GetDefinition() const
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExciteMolecule()

void G4Molecule::ExciteMolecule ( G4int  ExcitedLevel)

Method used in Geant4-DNA to excite water molecules

Definition at line 303 of file G4Molecule.cc.

304 {
306  ExcitedLevel);
307 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
G4MolecularConfiguration * ExciteMolecule(G4int)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAtomsNumber()

G4int G4Molecule::GetAtomsNumber ( ) const

Returns the nomber of atoms compouning the molecule

Definition at line 359 of file G4Molecule.cc.

360 {
362 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCharge()

G4int G4Molecule::GetCharge ( ) const

Returns the charge of molecule.

Definition at line 507 of file G4Molecule.cc.

508 {
510 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDecayChannel()

const vector< const G4MolecularDissociationChannel * > * G4Molecule::GetDecayChannel ( ) const

Definition at line 458 of file G4Molecule.cc.

459 {
461 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDecayTime()

G4double G4Molecule::GetDecayTime ( ) const

Returns the decay time of the molecule.

Definition at line 486 of file G4Molecule.cc.

487 {
489 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDefinition()

const G4MoleculeDefinition * G4Molecule::GetDefinition ( ) const

Get molecule definition. This G4MoleculeDefinition has the ground electronic state of the molecule.

Definition at line 535 of file G4Molecule.cc.

536 {
538 }
const G4MoleculeDefinition * GetDefinition() const
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDiffusionCoefficient() [1/2]

G4double G4Molecule::GetDiffusionCoefficient ( ) const

Returns the diffusion coefficient D.

Definition at line 549 of file G4Molecule.cc.

550 {
552 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDiffusionCoefficient() [2/2]

G4double G4Molecule::GetDiffusionCoefficient ( const G4Material mat,
double  temperature 
) const

Returns the diffusion coefficient D.

Definition at line 556 of file G4Molecule.cc.

558 {
560  temperature);
561 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:

◆ GetDiffusionVelocity()

G4double G4Molecule::GetDiffusionVelocity ( ) const

Definition at line 433 of file G4Molecule.cc.

434 {
435  double moleculeMass = fpMolecularConfiguration->GetMass() / (c_squared);
436 
438  // Different possibilities
440  // Ideal Gaz case : Maxwell Boltzmann Distribution
441  // double sigma = k_Boltzmann * fgTemperature / mass;
442  // return G4RandGauss::shoot( 0, sigma );
444  // Ideal Gaz case : mean velocity from equipartition theorem
445  return sqrt(3 * k_Boltzmann *
448  // Using this approximation for liquid is wrong
449  // However the brownian process avoid taking
450  // care of energy consideration and plays only
451  // with positions
452 }
float c_squared
Definition: hepunit.py:258
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
float k_Boltzmann
Definition: hepunit.py:299
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetElectronOccupancy()

const G4ElectronOccupancy * G4Molecule::GetElectronOccupancy ( ) const

Returns the object ElectronOccupancy describing the electronic configuration of the molecule.

Definition at line 528 of file G4Molecule.cc.

529 {
531 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
const G4ElectronOccupancy * GetElectronOccupancy() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFakeParticleID()

G4int G4Molecule::GetFakeParticleID ( ) const

Definition at line 465 of file G4Molecule.cc.

466 {
468 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFormatedName()

const G4String & G4Molecule::GetFormatedName ( ) const

Returns the formated name of the molecule

Definition at line 352 of file G4Molecule.cc.

353 {
355 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
const G4String & GetFormatedName() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetITSubType()

virtual G4ITType G4Molecule::GetITSubType ( ) const
inlinevirtual

Reimplemented from G4IT.

Definition at line 124 of file G4Molecule.hh.

125  {
126  return GetMoleculeID();
127  }
G4int GetMoleculeID() const
Definition: G4Molecule.cc:472
Here is the call graph for this function:

◆ GetKineticEnergy()

G4double G4Molecule::GetKineticEnergy ( ) const

Definition at line 421 of file G4Molecule.cc.

422 {
424  // Ideal Gaz case
425  double v = GetDiffusionVelocity();
426  double E = (fpMolecularConfiguration->GetMass() / (c_squared)) * (v * v) / 2.;
428  return E;
429 }
float c_squared
Definition: hepunit.py:258
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
G4double GetDiffusionVelocity() const
Definition: G4Molecule.cc:433
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLabel()

const G4String & G4Molecule::GetLabel ( ) const

Returns the label of the molecule configuration

Definition at line 586 of file G4Molecule.cc.

587 {
589 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
const G4String & GetLabel() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMass()

G4double G4Molecule::GetMass ( ) const

Returns the total mass of the molecule.

Definition at line 521 of file G4Molecule.cc.

522 {
524 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMolecularConfiguration()

G4MolecularConfiguration * G4Molecule::GetMolecularConfiguration ( ) const

Definition at line 565 of file G4Molecule.cc.

566 {
568 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the caller graph for this function:

◆ GetMolecule()

G4Molecule * G4Molecule::GetMolecule ( const G4Track *  track)
static

Definition at line 83 of file G4Molecule.cc.

84 {
85  return (G4Molecule*) (GetIT(track));
86 }
G4IT * GetIT(const G4Track *track)
Definition: G4IT.cc:49
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMoleculeID()

G4int G4Molecule::GetMoleculeID ( ) const

Definition at line 472 of file G4Molecule.cc.

473 {
475 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetName()

const G4String & G4Molecule::GetName ( void  ) const
virtual

Returns the name of the molecule

Implements G4IT.

Definition at line 345 of file G4Molecule.cc.

346 {
348 }
const G4String & GetName() const
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetNbElectrons()

G4double G4Molecule::GetNbElectrons ( ) const

Returns the number of electron.

Definition at line 366 of file G4Molecule.cc.

367 {
369 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetVanDerVaalsRadius()

G4double G4Molecule::GetVanDerVaalsRadius ( ) const

Definition at line 500 of file G4Molecule.cc.

501 {
503 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IonizeMolecule()

void G4Molecule::IonizeMolecule ( G4int  IonizedLevel)

Method used in Geant4-DNA to ionize water molecules

Definition at line 313 of file G4Molecule.cc.

314 {
316  IonizedLevel);
317 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
G4MolecularConfiguration * IonizeMolecule(G4int)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ITDef()

G4Molecule::ITDef ( G4Molecule  ) const

◆ MoveOneElectron()

void G4Molecule::MoveOneElectron ( G4int  orbitToFree,
G4int  orbitToFill 
)

Move one electron from an orbit to another.

Definition at line 337 of file G4Molecule.cc.

338 {
340  orbitToFree, orbitToFill);
341 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
G4MolecularConfiguration * MoveOneElectron(G4int, G4int)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator delete()

void G4Molecule::operator delete ( void *  aMolecule)
inline

Definition at line 312 of file G4Molecule.hh.

314 {
315  aMoleculeAllocator->FreeSingle((G4Molecule *) aMolecule);
316 }
G4DLLIMPORT G4ThreadLocal G4Allocator< G4Molecule > * aMoleculeAllocator

◆ operator int()

G4Molecule::operator int ( ) const
inline

Definition at line 119 of file G4Molecule.hh.

120  {
121  return GetMoleculeID();
122  }
G4int GetMoleculeID() const
Definition: G4Molecule.cc:472
Here is the call graph for this function:

◆ operator new()

void * G4Molecule::operator new ( size_t  )
inline

Definition at line 304 of file G4Molecule.hh.

306 {
308  return (void *) aMoleculeAllocator->MallocSingle();
309 }
G4DLLIMPORT G4ThreadLocal G4Allocator< G4Molecule > * aMoleculeAllocator

◆ operator!=()

G4bool G4Molecule::operator!= ( const G4Molecule right) const

Definition at line 125 of file G4Molecule.cc.

126 {
127  return !(*this == right);
128 }

◆ operator<()

G4bool G4Molecule::operator< ( const G4Molecule right) const

The two methods below are the most called of the simulation : compare molecules in the MoleculeStackManager or in the InteractionTable

Definition at line 136 of file G4Molecule.cc.

137 {
139 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290

◆ operator=()

G4Molecule & G4Molecule::operator= ( const G4Molecule right)

Definition at line 105 of file G4Molecule.cc.

106 {
107  if (&right == this) return *this;
109  return *this;
110 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290

◆ operator==()

G4bool G4Molecule::operator== ( const G4Molecule right) const

Definition at line 114 of file G4Molecule.cc.

115 {
117  {
118  return true;
119  }
120  return false;
121 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290

◆ PrintState()

void G4Molecule::PrintState ( ) const

Show the electronic state of the molecule.

Definition at line 373 of file G4Molecule.cc.

374 {
376 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveElectron()

void G4Molecule::RemoveElectron ( G4int  orbit,
G4int  number = 1 
)

Remove n electrons to a given orbit.

Definition at line 329 of file G4Molecule.cc.

330 {
332  number);
333 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
G4MolecularConfiguration * RemoveElectron(G4int, G4int number=1)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetDecayTime()

void G4Molecule::SetDecayTime ( G4double  dynDecayTime)

Set the decay time of the molecule.

Definition at line 479 of file G4Molecule.cc.

480 {
481  fpMolecularConfiguration->SetDecayTime(dynDecayTime);
482 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetDiffusionCoefficient()

void G4Molecule::SetDiffusionCoefficient ( G4double  dynDiffusionCoefficient)

Sets the diffusion coefficient D of the molecule used in diffusion processes to calculate the mean square jump distance between two changes of direction. In three dimension : <x^2> = 6 D t where t is the mean jump time between two changes of direction.

Definition at line 542 of file G4Molecule.cc.

543 {
544  fpMolecularConfiguration->SetDiffusionCoefficient(dynDiffusionCoefficient);
545 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetElectronOccupancy()

void G4Molecule::SetElectronOccupancy ( const G4ElectronOccupancy occ)

Will set up the correct molecularConfiguration given an electron configuration

Definition at line 292 of file G4Molecule.cc.

293 {
297 }
const G4MoleculeDefinition * GetDefinition() const
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetLabel()

void G4Molecule::SetLabel ( const G4String label)

Definition at line 593 of file G4Molecule.cc.

594 {
596 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetMass()

void G4Molecule::SetMass ( G4double  aMass)

Set the total mass of the molecule.

Definition at line 514 of file G4Molecule.cc.

515 {
517 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetVanDerVaalsRadius()

void G4Molecule::SetVanDerVaalsRadius ( G4double  dynVanDerVaalsRadius)

The Van Der Valls Radius of the molecule

Definition at line 493 of file G4Molecule.cc.

494 {
495  fpMolecularConfiguration->SetVanDerVaalsRadius(dynVanDerVaalsRadius);
496 }
G4MolecularConfiguration * fpMolecularConfiguration
Definition: G4Molecule.hh:290
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fpMolecularConfiguration

G4MolecularConfiguration* G4Molecule::fpMolecularConfiguration
private

Definition at line 290 of file G4Molecule.hh.


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