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 &)
 
G4Molecule & operator= (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 G4String & GetName () const
 
const G4String & GetFormatedName () 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 G4MoleculeDefinition * GetDefinition () 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 G4ElectronOccupancy * GetElectronOccupancy () const
 
G4int GetCharge () const
 
void SetMass (G4double)
 
G4double GetMass () const
 
const G4String & GetLabel () const
 
void SetLabel (const G4String &label)
 
void ChangeConfigurationToLabel (const G4String &label)
 
G4MolecularConfiguration * GetMolecularConfiguration () 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 G4ThreeVector & GetPosition () const
 
double operator[] (int i) const
 
const G4ThreeVector & GetPreStepPosition () const
 
G4double GetPreStepLocalTime () const
 
G4double GetPreStepGlobalTime () const
 
void SetPrevious (G4IT *)
 
void SetNext (G4IT *)
 
G4IT * GetPrevious ()
 
G4IT * GetNext ()
 
const G4IT * GetPrevious () const
 
const G4IT * GetNext () const
 
void SetITBox (G4ITBox *)
 
const G4ITBox * GetITBox () const
 
void TakeOutBox ()
 
void SetNode (G4KDNode_Base *)
 
G4KDNode_Base * GetNode () const
 
void SetParentID (int, int)
 
void GetParentID (int &, int &)
 
G4TrackingInformation * GetTrackingInfo ()
 
G4TrackListNode * GetListNode ()
 
void SetListNode (G4TrackListNode *node)
 
virtual const G4ITType GetITType () const =0
 

Static Public Member Functions

static G4Molecule * GetMolecule (const G4Track *)
 

Private Member Functions

 G4Molecule ()
 

Private Attributes

G4MolecularConfiguration * fpMolecularConfiguration
 

Additional Inherited Members

- Public Types inherited from G4IT
enum  ELimited {
  kDoNot, kUnique, kSharedTransport, kSharedOther,
  kUndefLimited
}
 
- Protected Member Functions inherited from G4IT
 G4IT (const G4IT &)
 
G4IT & operator= (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: