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

#include <G4MoleculeDefinition.hh>

+ Inheritance diagram for G4MoleculeDefinition:

Public Member Functions

 G4MoleculeDefinition (const G4String &name, G4double mass, G4int electronsNumber, G4int electronicLevels, G4double diffCoeff, G4int atomsNumber=-1, G4double radius=-1, G4double lifetime=-1, G4String aType="", G4MoleculeID ID=G4MoleculeID::Create())
 
virtual ~G4MoleculeDefinition ()
 
void SetLevelOccupation (G4int, G4int eNb=2)
 
void SetDiffusionCoefficient (G4double)
 
G4double GetDiffusionCoefficient () const
 
void SetAtomsNumber (G4int)
 
G4int GetAtomsNumber () const
 
void SetVanDerVaalsRadius (G4double)
 
G4double GetVanDerVaalsRadius () const
 
void AddExcitedState (const G4String &)
 
const G4StringGetExcitedState (const G4ElectronOccupancy *) const
 
void AddDecayChannel (const G4String &, const G4MolecularDecayChannel *)
 
void AddeConfToExcitedState (const G4String &, const G4ElectronOccupancy &, double decayTime=0.)
 
const std::vector< const G4MolecularDecayChannel * > * GetDecayChannels (const G4ElectronOccupancy *) const
 
const std::vector< const G4MolecularDecayChannel * > * GetDecayChannels (const G4String &) const
 
const G4ElectronOccupancyGetGroundStateElectronOccupancy () const
 
const G4StringGetName () const
 
G4double GetMass () const
 
const G4StringGetType () const
 
G4int GetNbElectrons () const
 
G4int GetNbMolecularShells () const
 
const G4MolecularDecayTableGetDecayTable () const
 
G4MolecularDecayTableGetDecayTable ()
 
G4double GetDecayTime () const
 
- Public Member Functions inherited from G4ParticleDefinition
 G4ParticleDefinition (const G4String &aName, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospinZ, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable, G4bool shortlived=false, const G4String &subType="", G4int anti_encoding=0, G4double magneticMoment=0.0)
 
virtual ~G4ParticleDefinition ()
 
const G4StringGetParticleName () const
 
G4double GetPDGMass () const
 
G4double GetPDGWidth () const
 
G4double GetPDGCharge () const
 
G4double GetPDGSpin () const
 
G4int GetPDGiSpin () const
 
G4int GetPDGiParity () const
 
G4int GetPDGiConjugation () const
 
G4double GetPDGIsospin () const
 
G4double GetPDGIsospin3 () const
 
G4int GetPDGiIsospin () const
 
G4int GetPDGiIsospin3 () const
 
G4int GetPDGiGParity () const
 
G4double GetPDGMagneticMoment () const
 
void SetPDGMagneticMoment (G4double mageticMoment)
 
G4double CalculateAnomaly () const
 
const G4StringGetParticleType () const
 
const G4StringGetParticleSubType () const
 
G4int GetLeptonNumber () const
 
G4int GetBaryonNumber () const
 
G4int GetPDGEncoding () const
 
G4int GetAntiPDGEncoding () const
 
void SetAntiPDGEncoding (G4int aEncoding)
 
G4int GetQuarkContent (G4int flavor) const
 
G4int GetAntiQuarkContent (G4int flavor) const
 
G4bool IsShortLived () const
 
G4bool GetPDGStable () const
 
void SetPDGStable (const G4bool aFlag)
 
G4double GetPDGLifeTime () const
 
void SetPDGLifeTime (G4double aLifeTime)
 
G4DecayTableGetDecayTable () const
 
void SetDecayTable (G4DecayTable *aDecayTable)
 
G4ProcessManagerGetProcessManager () const
 
void SetProcessManager (G4ProcessManager *aProcessManager)
 
G4ParticleTableGetParticleTable () const
 
void DumpTable () const
 
G4int GetAtomicNumber () const
 
G4int GetAtomicMass () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int operator== (const G4ParticleDefinition &right) const
 
G4int operator!= (const G4ParticleDefinition &right) const
 
void SetApplyCutsFlag (G4bool)
 
G4bool GetApplyCutsFlag () const
 

Protected Member Functions

 G4MoleculeDefinition ()
 
 G4MoleculeDefinition (const G4MoleculeDefinition &)
 
- Protected Member Functions inherited from G4ParticleDefinition
G4int FillQuarkContents ()
 
void SetParticleSubType (const G4String &subtype)
 
void SetAtomicNumber (G4int)
 
void SetAtomicMass (G4int)
 
 G4ParticleDefinition (const G4ParticleDefinition &right)
 
 G4ParticleDefinition ()
 

Additional Inherited Members

- Protected Types inherited from G4ParticleDefinition
enum  { NumberOfQuarkFlavor = 6 }
 
- Protected Attributes inherited from G4ParticleDefinition
G4int theQuarkContent [NumberOfQuarkFlavor]
 
G4int theAntiQuarkContent [NumberOfQuarkFlavor]
 

Detailed Description

Definition at line 59 of file G4MoleculeDefinition.hh.

Constructor & Destructor Documentation

◆ G4MoleculeDefinition() [1/3]

G4MoleculeDefinition::G4MoleculeDefinition ( const G4String name,
G4double  mass,
G4int  electronsNumber,
G4int  electronicLevels,
G4double  diffCoeff,
G4int  atomsNumber = -1,
G4double  radius = -1,
G4double  lifetime = -1,
G4String  aType = "",
G4MoleculeID  ID = G4MoleculeID::Create() 
)

Definition at line 45 of file G4MoleculeDefinition.cc.

55 :
56 G4ParticleDefinition(name, mass, 0., 0., 0, 0, 0, 0, 0, 0, "Molecule",
57 0, 0, ID, false, lifetime, NULL, false, aType, 0, 0.0),
58 fMass(mass),
59 fNbOfElectrons(electronsNumber), fNbOfMolecularShells(electronicLevels), fDiffusionCoefficient(diffCoeff),
60 fAtomsNb(atomsNumber), fVanDerVaalsRadius(radius)
61
62{
63 fElectronOccupancy = new G4ElectronOccupancy(fNbOfMolecularShells);
64 fDecayTable = NULL;
65}

◆ ~G4MoleculeDefinition()

G4MoleculeDefinition::~G4MoleculeDefinition ( )
virtual

Definition at line 67 of file G4MoleculeDefinition.cc.

68{
69 if (fElectronOccupancy)
70 {
71 delete fElectronOccupancy;
72 fElectronOccupancy = 0;
73 }
74 if (fDecayTable)
75 {
76 delete fDecayTable;
77 fDecayTable = 0;
78 }
79 // fMolecularConfiguration = 0;
80}

◆ G4MoleculeDefinition() [2/3]

◆ G4MoleculeDefinition() [3/3]

G4MoleculeDefinition::G4MoleculeDefinition ( const G4MoleculeDefinition right)
protected

Definition at line 177 of file G4MoleculeDefinition.cc.

177 :
179 fMass(right.fMass),
180 fNbOfElectrons (right.fNbOfElectrons),
181 fNbOfMolecularShells(right.fNbOfMolecularShells),
182 fDiffusionCoefficient( right.fDiffusionCoefficient),
183 fAtomsNb( right.fAtomsNb),
184 fVanDerVaalsRadius (right.fVanDerVaalsRadius)
185{
186 if(right.fElectronOccupancy!=0)
187 {
188 fElectronOccupancy= new G4ElectronOccupancy(*(right.fElectronOccupancy));
189 }
190 else fElectronOccupancy = 0;
191
192 if(right.fDecayTable!=0)
193 {
194 fDecayTable = new G4MolecularDecayTable(*(right.fDecayTable));
195 }
196 else fDecayTable =0;
197}

Member Function Documentation

◆ AddDecayChannel()

void G4MoleculeDefinition::AddDecayChannel ( const G4String chanId,
const G4MolecularDecayChannel chan 
)

Definition at line 133 of file G4MoleculeDefinition.cc.

135{
136 if (!fDecayTable)
137 {
138 fDecayTable = new G4MolecularDecayTable();
139 }
140 fDecayTable->AddDecayChannel(chanId, chan);
141}
void AddDecayChannel(const G4String &, const G4MolecularDecayChannel *)

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

◆ AddeConfToExcitedState()

void G4MoleculeDefinition::AddeConfToExcitedState ( const G4String exStId,
const G4ElectronOccupancy conf,
double  decayTime = 0. 
)

Definition at line 82 of file G4MoleculeDefinition.cc.

85{
86 if (!fDecayTable)
87 {
88 fDecayTable = new G4MolecularDecayTable();
89 }
90 fDecayTable->AddeConfToExcitedState(exStId, conf);
92}
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4ElectronOccupancy &electronOccupancy)
void AddeConfToExcitedState(const G4String &, const G4ElectronOccupancy &)

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

◆ AddExcitedState()

void G4MoleculeDefinition::AddExcitedState ( const G4String val)

Definition at line 108 of file G4MoleculeDefinition.cc.

109{
110 if (!fDecayTable)
111 {
112 fDecayTable = new G4MolecularDecayTable();
113 }
114
115 fDecayTable->AddExcitedState(val);
116
117}
void AddExcitedState(const G4String &)

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

◆ GetAtomsNumber()

G4int G4MoleculeDefinition::GetAtomsNumber ( ) const
inline

Definition at line 168 of file G4MoleculeDefinition.hh.

169{
170 return fAtomsNb;
171}

Referenced by G4MolecularConfiguration::GetAtomsNumber().

◆ GetDecayChannels() [1/2]

const vector< const G4MolecularDecayChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4ElectronOccupancy occ) const

Definition at line 158 of file G4MoleculeDefinition.cc.

159{
160 if (fDecayTable)
161 {
162 const vector<const G4MolecularDecayChannel*>* output = fDecayTable->GetDecayChannels(occ);
163 return output;
164 }
165 else
166 {
167 G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
168 G4Exception("G4MoleculeDefinition::GetDecayChannels","",FatalErrorInArgument,errMsg);
169 }
170 return 0;
171}
@ FatalErrorInArgument
const std::vector< const G4MolecularDecayChannel * > * GetDecayChannels(const G4ElectronOccupancy *) const
const G4String & GetName() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

◆ GetDecayChannels() [2/2]

const vector< const G4MolecularDecayChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4String ExState) const

Definition at line 143 of file G4MoleculeDefinition.cc.

144{
145 if (fDecayTable)
146 {
147 const vector<const G4MolecularDecayChannel*>* output = fDecayTable->GetDecayChannels(ExState);
148 return output;
149 }
150 else
151 {
152 G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
153 G4Exception("G4MoleculeDefinition::GetDecayChannels","",FatalErrorInArgument,errMsg);
154 }
155 return 0;
156}

◆ GetDecayTable() [1/2]

G4MolecularDecayTable * G4MoleculeDefinition::GetDecayTable ( )
inline

Definition at line 222 of file G4MoleculeDefinition.hh.

223{
224 return fDecayTable;
225}

◆ GetDecayTable() [2/2]

const G4MolecularDecayTable * G4MoleculeDefinition::GetDecayTable ( ) const
inline

Definition at line 217 of file G4MoleculeDefinition.hh.

218{
219 return fDecayTable;
220}

Referenced by G4MolecularConfiguration::PrintState().

◆ GetDecayTime()

G4double G4MoleculeDefinition::GetDecayTime ( ) const
inline

Definition at line 158 of file G4MoleculeDefinition.hh.

159{
160 return GetPDGLifeTime();
161}
G4double GetPDGLifeTime() const

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

◆ GetDiffusionCoefficient()

G4double G4MoleculeDefinition::GetDiffusionCoefficient ( ) const
inline

Definition at line 153 of file G4MoleculeDefinition.hh.

154{
155 return fDiffusionCoefficient;
156}

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

◆ GetExcitedState()

const G4String & G4MoleculeDefinition::GetExcitedState ( const G4ElectronOccupancy occ) const

Definition at line 119 of file G4MoleculeDefinition.cc.

120{
121 if (fDecayTable)
122 {
123 return fDecayTable->GetExcitedState(occ);
124 }
125 else
126 {
127 G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
128 G4Exception("G4MoleculeDefinition::GetExcitedState","",FatalErrorInArgument,errMsg);
129 }
130 return *(new G4String(""));
131}
const G4String & GetExcitedState(const G4ElectronOccupancy *) const

◆ GetGroundStateElectronOccupancy()

const G4ElectronOccupancy * G4MoleculeDefinition::GetGroundStateElectronOccupancy ( ) const
inline

◆ GetMass()

G4double G4MoleculeDefinition::GetMass ( ) const
inline

Definition at line 194 of file G4MoleculeDefinition.hh.

195{
196 return fMass;
197}

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

◆ GetName()

const G4String & G4MoleculeDefinition::GetName ( ) const
inline

Definition at line 188 of file G4MoleculeDefinition.hh.

189{
190
191 return GetParticleName();
192}
const G4String & GetParticleName() const

Referenced by GetDecayChannels(), GetExcitedState(), and G4MolecularConfiguration::GetName().

◆ GetNbElectrons()

G4int G4MoleculeDefinition::GetNbElectrons ( ) const
inline

Definition at line 205 of file G4MoleculeDefinition.hh.

206{
207
208 return fNbOfElectrons;
209}

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

◆ GetNbMolecularShells()

G4int G4MoleculeDefinition::GetNbMolecularShells ( ) const
inline

Definition at line 211 of file G4MoleculeDefinition.hh.

212{
213
214 return fNbOfMolecularShells;
215}

◆ GetType()

const G4String & G4MoleculeDefinition::GetType ( ) const
inline

Definition at line 199 of file G4MoleculeDefinition.hh.

200{
201
202 return GetParticleSubType();
203}
const G4String & GetParticleSubType() const

◆ GetVanDerVaalsRadius()

G4double G4MoleculeDefinition::GetVanDerVaalsRadius ( ) const
inline

Definition at line 178 of file G4MoleculeDefinition.hh.

179{
180 return fVanDerVaalsRadius;
181}

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

◆ SetAtomsNumber()

void G4MoleculeDefinition::SetAtomsNumber ( G4int  val)
inline

Definition at line 163 of file G4MoleculeDefinition.hh.

164{
165 fAtomsNb = val;
166}

◆ SetDiffusionCoefficient()

void G4MoleculeDefinition::SetDiffusionCoefficient ( G4double  value)
inline

Definition at line 148 of file G4MoleculeDefinition.hh.

149{
150 fDiffusionCoefficient = value;
151}

◆ SetLevelOccupation()

void G4MoleculeDefinition::SetLevelOccupation ( G4int  shell,
G4int  eNb = 2 
)

Definition at line 94 of file G4MoleculeDefinition.cc.

95{
96 G4int levelOccupancy = fElectronOccupancy->GetOccupancy(shell);
97
98 if (levelOccupancy)
99 {
100
101 fElectronOccupancy->RemoveElectron(shell, levelOccupancy);
102 }
103
104 fElectronOccupancy->AddElectron(shell,eNb);
105
106}
int G4int
Definition: G4Types.hh:66
G4int AddElectron(G4int orbit, G4int number=1)
G4int RemoveElectron(G4int orbit, G4int number=1)
G4int GetOccupancy(G4int orbit) const

Referenced by G4Electron_aq::Definition(), G4H2::Definition(), and G4Hydrogen::Definition().

◆ SetVanDerVaalsRadius()

void G4MoleculeDefinition::SetVanDerVaalsRadius ( G4double  val)
inline

Definition at line 173 of file G4MoleculeDefinition.hh.

174{
175 fVanDerVaalsRadius = val;
176}

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