Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4Molecule Class Reference

#include <G4Molecule.hh>

Inheritance diagram for G4Molecule:

Public Member Functions

 ITDef (G4Molecule) void Print() const override
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
G4ITType GetITSubType () const override
 G4Molecule (G4MoleculeDefinition *pMoleculeDefinition)
 G4Molecule (G4MoleculeDefinition *pMoleculeDefinition, int charge)
 G4Molecule (G4MoleculeDefinition *pMoleculeDefinition, G4int, G4int)
 G4Molecule (G4MoleculeDefinition *pMoleculeDefinition, G4int, G4bool)
 G4Molecule (const G4MolecularConfiguration *)
 ~G4Molecule () override
const G4StringGetName () const override
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
G4TrackBuildTrack (G4double globalTime, const G4ThreeVector &Position, const G4Track *=nullptr)
G4double GetKineticEnergy () const
G4double GetDiffusionVelocity () const
const std::vector< const G4MolecularDissociationChannel * > * GetDissociationChannels () 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)
const G4MolecularConfigurationGetMolecularConfiguration () const
Public Member Functions inherited from G4IT
 G4IT ()
 G4IT (G4Track *)
 ~G4IT () override
void Print () const override
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 *)
G4TrackGetTrack ()
const G4TrackGetTrack () 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
Public Member Functions inherited from G4VUserTrackInformation
 G4VUserTrackInformation ()=default
 G4VUserTrackInformation (const G4String &infoType)
 G4VUserTrackInformation (const G4VUserTrackInformation &)
G4VUserTrackInformationoperator= (const G4VUserTrackInformation &)
virtual ~G4VUserTrackInformation ()
const G4StringGetType () const

Static Public Member Functions

static G4MoleculeGetMolecule (const G4Track *)

Additional Inherited Members

Protected Member Functions inherited from G4IT
 G4IT (const G4IT &)
G4IToperator= (const G4IT &)
Protected Attributes inherited from G4IT
G4TrackfpTrack
Protected Attributes inherited from G4VUserTrackInformation
G4StringpType = nullptr

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 98 of file G4Molecule.hh.

Constructor & Destructor Documentation

◆ G4Molecule() [1/6]

G4Molecule::G4Molecule ( const G4Molecule & right)

Definition at line 103 of file G4Molecule.cc.

104 : G4VUserTrackInformation("G4Molecule")
105 , G4IT(right)
106{
107 fpMolecularConfiguration = right.fpMolecularConfiguration;
108}
G4IT()
Definition G4IT.cc:67
G4VUserTrackInformation()=default

Referenced by G4Molecule(), GetMolecule(), ITDef(), operator delete(), operator!=(), operator<(), operator=(), operator==(), and SetLabel().

◆ G4Molecule() [2/6]

G4Molecule::G4Molecule ( G4MoleculeDefinition * pMoleculeDefinition)

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 185 of file G4Molecule.cc.

186 : G4VUserTrackInformation("G4Molecule")
187{
188 fpMolecularConfiguration = G4MolecularConfiguration::GetOrCreateMolecularConfiguration(pMoleculeDefinition);
189}
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)

◆ G4Molecule() [3/6]

G4Molecule::G4Molecule ( G4MoleculeDefinition * pMoleculeDefinition,
int charge )

Definition at line 193 of file G4Molecule.cc.

194{
195 fpMolecularConfiguration = G4MolecularConfiguration::GetOrCreateMolecularConfiguration(pMoleculeDefinition,
196 charge);
197}

◆ G4Molecule() [4/6]

G4Molecule::G4Molecule ( G4MoleculeDefinition * pMoleculeDefinition,
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 204 of file G4Molecule.cc.

207 : G4VUserTrackInformation("G4Molecule")
208{
209 if (pMoleculeDefinition->GetGroundStateElectronOccupancy() != nullptr)
210 {
211 G4ElectronOccupancy dynElectronOccupancy(*pMoleculeDefinition->GetGroundStateElectronOccupancy());
212
213 if (OrbitalToFill != 0)
214 {
215 dynElectronOccupancy.RemoveElectron(OrbitalToFree - 1, 1);
216 dynElectronOccupancy.AddElectron(OrbitalToFill - 1, 1);
217 // dynElectronOccupancy.DumpInfo(); // DEBUG
218 }
219
220 if (OrbitalToFill == 0)
221 {
222 dynElectronOccupancy.RemoveElectron(OrbitalToFree - 1, 1);
223 // dynElectronOccupancy.DumpInfo(); // DEBUG
224 }
225
226 fpMolecularConfiguration =
228 pMoleculeDefinition, dynElectronOccupancy);
229 }
230 else
231 {
232 fpMolecularConfiguration = nullptr;
234 "G4Molecule::G4Molecule(G4MoleculeDefinition* pMoleculeDefinition, "
235 "G4int OrbitalToFree, G4int OrbitalToFill)",
236 "G4Molecule_wrong_usage_of_constructor",
238 "If you want to use this constructor, the molecule definition has to be "
239 "first defined with electron occupancies");
240 }
241}
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const

◆ G4Molecule() [5/6]

G4Molecule::G4Molecule ( G4MoleculeDefinition * pMoleculeDefinition,
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 248 of file G4Molecule.cc.

251 : G4VUserTrackInformation("G4Molecule")
252{
253 if (pMoleculeDefinition->GetGroundStateElectronOccupancy() != nullptr)
254 {
255 G4ElectronOccupancy dynElectronOccupancy(*pMoleculeDefinition->GetGroundStateElectronOccupancy());
256
257 if (excitation)
258 {
259 dynElectronOccupancy.RemoveElectron(level, 1);
260 dynElectronOccupancy.AddElectron(5, 1);
261 // dynElectronOccupancy.DumpInfo(); // DEBUG
262 }
263 else
264 {
265 dynElectronOccupancy.RemoveElectron(level, 1);
266 // dynElectronOccupancy.DumpInfo(); // DEBUG
267 }
268
269 fpMolecularConfiguration = G4MolecularConfiguration::GetOrCreateMolecularConfiguration(pMoleculeDefinition,
270 dynElectronOccupancy);
271 }
272 else
273 {
274 fpMolecularConfiguration = nullptr;
276 "G4Molecule::G4Molecule(G4MoleculeDefinition* pMoleculeDefinition, "
277 "G4int OrbitalToFree, G4int OrbitalToFill)",
278 "G4Molecule_wrong_usage_of_constructor",
280 "If you want to use this constructor, the molecule definition has to be "
281 "first defined with electron occupancies");
282 }
283}

◆ G4Molecule() [6/6]

G4Molecule::G4Molecule ( const G4MolecularConfiguration * pMolecularConfiguration)

Definition at line 287 of file G4Molecule.cc.

288{
289 fpMolecularConfiguration = pMolecularConfiguration;
290}

◆ ~G4Molecule()

G4Molecule::~G4Molecule ( )
override

Definition at line 154 of file G4Molecule.cc.

155{
156 if (fpTrack != nullptr)
157 {
158 if (G4MoleculeCounterManager::Instance()->GetIsActive())
159 {
160 switch (fpTrack->GetTrackStatus())
161 {
162 case fAlive:
164 case fStopButAlive:
165 case fSuspend:
166 // do not remove molecule count if the track is not being killed
167 break;
168 case fStopAndKill:
170 default:
172 fpTrack->GetGlobalTime());
173 break;
174 }
175 }
176 fpTrack = nullptr;
177 }
178 fpMolecularConfiguration = nullptr;
179}
@ fKillTrackAndSecondaries
@ fSuspend
@ fAlive
@ fStopAndKill
@ fStopButAlive
@ fPostponeToNextEvent
G4Track * fpTrack
Definition G4IT.hh:167
static G4MoleculeCounterManager * Instance()
void RemoveMolecule(const G4Track *, G4double, G4int=1)

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 317 of file G4Molecule.cc.

318{
319 fpMolecularConfiguration = fpMolecularConfiguration->AddElectron(orbit, number);
320}

◆ BuildTrack()

G4Track * G4Molecule::BuildTrack ( G4double globalTime,
const G4ThreeVector & Position,
const G4Track * parentTrack = nullptr )

Definition at line 375 of file G4Molecule.cc.

378{
379 if (fpTrack != nullptr)
380 {
381 G4Exception("G4Molecule::BuildTrack", "Molecule001", FatalErrorInArgument,
382 "A track was already assigned to this molecule");
383 }
384
385 // Kinetic Values
386 // Set a random direction to the molecule
387 G4double costheta = (2 * G4UniformRand() - 1);
388 G4double theta = acos(costheta);
389 G4double phi = 2 * pi * G4UniformRand();
390
391 G4double xMomentum = cos(phi) * sin(theta);
392 G4double yMomentum = sin(theta) * sin(phi);
393 G4double zMomentum = costheta;
394
395 G4ThreeVector MomentumDirection(xMomentum, yMomentum, zMomentum);
397
398 auto dynamicParticle = new G4DynamicParticle(
399 fpMolecularConfiguration->GetDefinition(), MomentumDirection,
400 KineticEnergy);
401
402 // Set the Track
403 fpTrack = new G4Track(dynamicParticle, globalTime, position);
404 fpTrack->SetUserInformation(this);
405
406 // Copy over touchable handle (see G4VEmProcess)
407 if (parentTrack == nullptr || parentTrack->GetTouchable() == nullptr ||
408 position != parentTrack->GetPosition())
409 {
410 // If (1) no track or touchable handle exists, or
411 // If (2) the new position is inconsistent with the track's position
412 // create a new touchable from the position:
413 // this way the subsequent calls *should* properly see its location (i.e. PV)
415 }
416 else
417 {
418 fpTrack->SetTouchableHandle(parentTrack->GetTouchableHandle());
419 }
420
421 if (G4MoleculeCounterManager::Instance()->GetIsActive())
422 {
424 fpTrack->GetGlobalTime());
425 // G4VMoleculeCounter::Instance()->
426 // AddAMoleculeAtTime(fpMolecularConfiguration,
427 // globalTime,
428 // &(fpTrack->GetPosition()));
429 }
430
431 return fpTrack;
432}
CLHEP::Hep3Vector G4ThreeVector
double G4double
Definition G4Types.hh:83
#define G4UniformRand()
Definition Randomize.hh:52
void AddMolecule(const G4Track *, G4double, G4int=1)
void LocateMoleculeSetStateAndTouchable(G4Track *)
static G4MoleculeLocator * Instance()
G4double GetKineticEnergy() const
const G4ThreeVector & GetPosition() const
const G4TouchableHandle & GetTouchableHandle() const
const G4VTouchable * GetTouchable() const
const G4double pi

◆ ChangeConfigurationToLabel()

void G4Molecule::ChangeConfigurationToLabel ( const G4String & label)

Definition at line 566 of file G4Molecule.cc.

567{
568 // TODO check fpMolecularConfiguration already exists
569 // and new one as well
570 // TODO notify for stack change
572 fpMolecularConfiguration->GetDefinition(), label);
573
574 assert(fpMolecularConfiguration != nullptr);
575}
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)

◆ ExciteMolecule()

void G4Molecule::ExciteMolecule ( G4int excitationLevel)

Method used in Geant4-DNA to excite water molecules

Definition at line 303 of file G4Molecule.cc.

304{
305 fpMolecularConfiguration = fpMolecularConfiguration->ExciteMolecule(excitationLevel);
306}

◆ GetAtomsNumber()

G4int G4Molecule::GetAtomsNumber ( ) const

Returns the nomber of atoms compouning the molecule

Definition at line 354 of file G4Molecule.cc.

355{
356 return fpMolecularConfiguration->GetAtomsNumber();
357}

◆ GetCharge()

G4int G4Molecule::GetCharge ( ) const

Returns the charge of molecule.

Definition at line 508 of file G4Molecule.cc.

509{
510 return fpMolecularConfiguration->GetCharge();
511}

◆ GetDecayTime()

G4double G4Molecule::GetDecayTime ( ) const

Returns the decay time of the molecule.

Definition at line 494 of file G4Molecule.cc.

495{
496 return fpMolecularConfiguration->GetDecayTime();
497}

Referenced by G4DNAMolecularDissociation::GetMeanLifeTime().

◆ GetDefinition()

const G4MoleculeDefinition * G4Molecule::GetDefinition ( ) const

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

Definition at line 529 of file G4Molecule.cc.

530{
531 return fpMolecularConfiguration->GetDefinition();
532}

◆ GetDiffusionCoefficient() [1/2]

G4double G4Molecule::GetDiffusionCoefficient ( ) const

Returns the diffusion coefficient D.

Definition at line 536 of file G4Molecule.cc.

537{
538 return fpMolecularConfiguration->GetDiffusionCoefficient();
539}

Referenced by G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength(), G4DNABrownianTransportation::ComputeStep(), G4ChemReboundTransportation::GetTimeToBoundary(), and G4DNAIRT::Sampling().

◆ GetDiffusionCoefficient() [2/2]

G4double G4Molecule::GetDiffusionCoefficient ( const G4Material * pMaterial,
double temperature ) const

Returns the diffusion coefficient D.

Definition at line 543 of file G4Molecule.cc.

545{
546 return fpMolecularConfiguration->GetDiffusionCoefficient(pMaterial,
547 temperature);
548}

◆ GetDiffusionVelocity()

G4double G4Molecule::GetDiffusionVelocity ( ) const

Definition at line 448 of file G4Molecule.cc.

449{
450 double moleculeMass = fpMolecularConfiguration->GetMass() / (c_squared);
451
452 ////
453 // Different possibilities
454 ////
455 // Ideal Gaz case : Maxwell Boltzmann Distribution
456 // double sigma = k_Boltzmann * fgTemperature / mass;
457 // return G4RandGauss::shoot( 0, sigma );
458 ////
459 // Ideal Gaz case : mean velocity from equipartition theorem
460 return sqrt(3 * k_Boltzmann *
462 ////
463 // Using this approximation for liquid is wrong
464 // However the brownian process avoid taking
465 // care of energy consideration and plays only
466 // with positions
467}

Referenced by GetKineticEnergy().

◆ GetDissociationChannels()

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

Definition at line 473 of file G4Molecule.cc.

474{
475 return fpMolecularConfiguration->GetDissociationChannels();
476}

◆ GetElectronOccupancy()

const G4ElectronOccupancy * G4Molecule::GetElectronOccupancy ( ) const

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

Definition at line 522 of file G4Molecule.cc.

523{
524 return fpMolecularConfiguration->GetElectronOccupancy();
525}

◆ GetFakeParticleID()

G4int G4Molecule::GetFakeParticleID ( ) const

Definition at line 480 of file G4Molecule.cc.

481{
482 return fpMolecularConfiguration->GetFakeParticleID();
483}

◆ GetFormatedName()

const G4String & G4Molecule::GetFormatedName ( ) const

Returns the formated name of the molecule

Definition at line 347 of file G4Molecule.cc.

348{
349 return fpMolecularConfiguration->GetFormatedName();
350}

◆ GetITSubType()

G4ITType G4Molecule::GetITSubType ( ) const
inlineoverridevirtual

Reimplemented from G4IT.

Definition at line 130 of file G4Molecule.hh.

131 {
132 return GetMoleculeID();
133 }
G4int GetMoleculeID() const

◆ GetKineticEnergy()

G4double G4Molecule::GetKineticEnergy ( ) const

Definition at line 436 of file G4Molecule.cc.

437{
438 ////
439 // Ideal Gaz case
440 double v = GetDiffusionVelocity();
441 double E = (fpMolecularConfiguration->GetMass() / (c_squared)) * (v * v) / 2.;
442 ////
443 return E;
444}
G4double GetDiffusionVelocity() const

Referenced by BuildTrack().

◆ GetLabel()

const G4String & G4Molecule::GetLabel ( ) const

Returns the label of the molecule configuration

Definition at line 559 of file G4Molecule.cc.

560{
561 return fpMolecularConfiguration->GetLabel();
562}

◆ GetMass()

G4double G4Molecule::GetMass ( ) const

Returns the total mass of the molecule.

Definition at line 515 of file G4Molecule.cc.

516{
517 return fpMolecularConfiguration->GetMass();
518}

◆ GetMolecularConfiguration()

◆ GetMolecule()

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

Definition at line 89 of file G4Molecule.cc.

90{
91 return (G4Molecule*)(GetIT(track));
92}
G4IT * GetIT(const G4Track *track)
Definition G4IT.cc:48
G4Molecule(const G4Molecule &)

Referenced by G4DNAIRT::Sampling().

◆ GetMoleculeID()

G4int G4Molecule::GetMoleculeID ( ) const

Definition at line 487 of file G4Molecule.cc.

488{
489 return fpMolecularConfiguration->GetMoleculeID();
490}

Referenced by GetITSubType(), and operator int().

◆ GetName()

◆ GetNbElectrons()

G4double G4Molecule::GetNbElectrons ( ) const

Returns the number of electron.

Definition at line 361 of file G4Molecule.cc.

362{
363 return fpMolecularConfiguration->GetNbElectrons();
364}

◆ GetVanDerVaalsRadius()

G4double G4Molecule::GetVanDerVaalsRadius ( ) const

Definition at line 501 of file G4Molecule.cc.

502{
503 return fpMolecularConfiguration->GetVanDerVaalsRadius();
504}

◆ IonizeMolecule()

void G4Molecule::IonizeMolecule ( G4int ionizationLevel)

Method used in Geant4-DNA to ionize water molecules

Definition at line 310 of file G4Molecule.cc.

311{
312 fpMolecularConfiguration = fpMolecularConfiguration->IonizeMolecule(ionizationLevel);
313}

◆ ITDef()

G4Molecule::ITDef ( G4Molecule ) const
override

◆ MoveOneElectron()

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

Move one electron from an orbit to another.

Definition at line 332 of file G4Molecule.cc.

333{
334 fpMolecularConfiguration =
335 fpMolecularConfiguration->MoveOneElectron(orbitToFree, orbitToFill);
336}

◆ operator delete()

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

Definition at line 313 of file G4Molecule.hh.

315{
316 aMoleculeAllocator()->FreeSingle((G4Molecule *)aMolecule);
317}
G4DLLIMPORT G4Allocator< G4Molecule > *& aMoleculeAllocator()
Definition G4Molecule.cc:60

◆ operator int()

G4Molecule::operator int ( ) const
inline

Definition at line 125 of file G4Molecule.hh.

126 {
127 return GetMoleculeID();
128 }

◆ operator new()

void * G4Molecule::operator new ( size_t )
inline

Definition at line 302 of file G4Molecule.hh.

304{
305 if (aMoleculeAllocator() == nullptr)
306 {
307 aMoleculeAllocator() = new G4Allocator<G4Molecule>;
308 }
309 return (void *)aMoleculeAllocator()->MallocSingle();
310}

◆ operator!=()

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

Definition at line 128 of file G4Molecule.cc.

129{
130 return !(*this == right);
131}

◆ 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 139 of file G4Molecule.cc.

140{
141 return fpMolecularConfiguration < right.fpMolecularConfiguration;
142}

◆ operator=()

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

Definition at line 112 of file G4Molecule.cc.

113{
114 if (&right == this) return *this;
115 fpMolecularConfiguration = right.fpMolecularConfiguration;
116 return *this;
117}

◆ operator==()

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

Definition at line 121 of file G4Molecule.cc.

122{
123 return fpMolecularConfiguration == right.fpMolecularConfiguration;
124}

◆ PrintState()

void G4Molecule::PrintState ( ) const

Show the electronic state of the molecule.

Definition at line 368 of file G4Molecule.cc.

369{
370 fpMolecularConfiguration->PrintState();
371}

◆ RemoveElectron()

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

Remove n electrons to a given orbit.

Definition at line 324 of file G4Molecule.cc.

325{
326 fpMolecularConfiguration =
327 fpMolecularConfiguration->RemoveElectron(orbit, number);
328}

◆ SetDecayTime()

void G4Molecule::SetDecayTime ( G4double )

Set the decay time of the molecule.

◆ SetDiffusionCoefficient()

void G4Molecule::SetDiffusionCoefficient ( G4double )

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.

◆ SetElectronOccupancy()

void G4Molecule::SetElectronOccupancy ( const G4ElectronOccupancy * pElectronOcc)

Will set up the correct molecularConfiguration given an electron configuration

Definition at line 294 of file G4Molecule.cc.

295{
296 fpMolecularConfiguration =
297 G4MolecularConfiguration::GetOrCreateMolecularConfiguration(fpMolecularConfiguration->GetDefinition(),
298 *pElectronOcc);
299}

◆ SetLabel()

void G4Molecule::SetLabel ( const G4String & label)

◆ SetMass()

void G4Molecule::SetMass ( G4double )

Set the total mass of the molecule.

◆ SetVanDerVaalsRadius()

void G4Molecule::SetVanDerVaalsRadius ( G4double )

The Van Der Valls Radius of the molecule


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