46 #ifndef G4MolecularConfiguration_ 
   47 #define G4MolecularConfiguration_ 1 
   68     if (totalOcc1 != totalOcc2)
 
   70       return totalOcc1 < totalOcc2;
 
   74       G4int occupancy1 = -1;
 
   75       G4int occupancy2 = -1;
 
   77       for (
G4int i = 0; i < sizeOrbit; i++)
 
   82         if (occupancy1 != occupancy2)
 
   84           return occupancy1 < occupancy2;
 
  132                                  bool& wasAlreadyCreated);
 
  139                                  bool& wasAlreadyCreated);
 
  146                                  bool& wasAlreadyCreated);
 
  152                                  bool& wasAlreadyCreated);
 
  227   const std::vector<const G4MolecularDissociationChannel*>*
 
  252                                           double temperature) 
const;
 
  345         fMoleculeCreationMutex()
 
  347       fLastMoleculeID = -1;
 
  353       return fLastMoleculeID+1;
 
  414       return fMolConfPerID;
 
  429                      ElectronOccupancyTable > MolElectronConfTable;
 
  430     MolElectronConfTable fElecOccTable;
 
  433     typedef std::map<
int,
 
  436                      ChargeTable> MolChargeConfTable;
 
  437     MolChargeConfTable fChargeTable;
 
  443            std::map<const G4String, G4MolecularConfiguration*> > MolLabelConfTable;
 
  444     MolLabelConfTable fLabelTable;
 
  447     typedef std::map<G4String, G4MolecularConfiguration*> UserIDTable;
 
  448     UserIDTable fUserIDTable;
 
  451     std::vector<G4MolecularConfiguration*> fMolConfPerID;
 
  455     G4int fLastMoleculeID;
 
  456     G4Mutex fMoleculeCreationMutex;
 
  593                                                   double temperature)
 const 
  595   return fDiffParam(material, temperature, 
this);
 
G4double GetDiffusionCoefficient() const 
 
void SetLabel(const G4String &)
 
static G4MolecularConfiguration * Load(std::istream &)
 
const G4String & GetName() const 
 
G4int GetTotalOccupancy() const 
 
void Serialize(std::ostream &)
 
~G4MolecularConfiguration()
 
void CreateDefaultDiffCoeffParam()
 
G4double fDynVanDerVaalsRadius
 
G4MolecularConfiguration * ChangeConfiguration(const G4ElectronOccupancy &newElectronOccupancy)
 
static double fgTemperature
 
static G4Mutex fManagerCreationMutex
 
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)
 
G4double fDynDiffusionCoefficient
 
void AddUserID(const G4String &name, G4MolecularConfiguration *molecule)
 
std::function< double(const G4Material *, double, const G4MolecularConfiguration *)> G4DiffCoeffParam
 
G4double GetNbElectrons() const 
 
G4int GetSizeOfOrbit() const 
 
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel() const 
 
G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
 
const G4String & GetUserID() const 
 
const G4ElectronOccupancy * FindCommonElectronOccupancy(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
 
const G4ElectronOccupancy * GetElectronOccupancy() const 
 
G4int Insert(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc, G4MolecularConfiguration *molConf)
 
void SetUserID(const G4String &userID)
 
G4double(* function)(G4double)
 
G4DiffCoeffParam fDiffParam
 
G4int GetFakeParticleID() const 
 
static G4double GetGlobalTemperature()
 
static std::map< G4String, G4MolecularConfiguration * > & GetUserIDTable()
 
static G4MolecularConfigurationManager * fgManager
 
std::map< G4String, G4MolecularConfiguration * > & GetUserIDTable()
 
bool operator()(const G4ElectronOccupancy &occ1, const G4ElectronOccupancy &occ2) const 
 
static void ScaleAllDiffusionCoefficientsOnWater(double temperature_K)
 
void RecordNewlyLabeledConfiguration(G4MolecularConfiguration *molConf)
 
G4int GetOccupancy(G4int orbit) const 
 
static int GetNumberOfSpecies()
 
G4MolecularConfiguration * IonizeMolecule(G4int)
 
G4MolecularConfiguration * AddElectron(G4int orbit, G4int n=1)
 
static void FinalizeAll()
 
void CheckElectronOccupancy(const char *line) const 
 
static double DiffCoeffWater(double temperature_K)
 
int GetNumberOfCreatedSpecies()
 
static void DeleteManager()
 
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
 
G4MolecularConfiguration * MoveOneElectron(G4int, G4int)
 
void SetDiffusionCoefficient(G4double)
 
G4MolecularConfiguration & operator=(G4MolecularConfiguration &right)
 
static void SetGlobalTemperature(G4double)
 
G4MolecularConfigurationManager()
 
static G4MolecularConfigurationManager * GetManager()
 
G4int GetMoleculeID() const 
 
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)
 
static double ReturnDefaultDiffCoeff(const G4Material *, double, const G4MolecularConfiguration *molConf)
 
G4MolecularConfiguration(const G4MoleculeDefinition *, const G4ElectronOccupancy &, const G4String &label="")
 
const G4String & GetFormatedName() const 
 
void RemoveMolecularConfigurationFromTable(G4MolecularConfiguration *)
 
void SetDecayTime(G4double)
 
void SetVanDerVaalsRadius(G4double)
 
G4int GetAtomsNumber() const 
 
const std::vector< G4MolecularConfiguration * > & GetAllSpecies()
 
const G4MoleculeDefinition * GetDefinition() const 
 
const G4String & GetLabel() const 
 
void Unserialize(std::istream &)
 
G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
 
G4double GetDecayTime() const 
 
G4MolecularConfiguration * RemoveElectron(G4int, G4int number=1)
 
const G4ElectronOccupancy * fElectronOccupancy
 
G4MolecularConfiguration * ExciteMolecule(G4int)
 
~G4MolecularConfigurationManager()
 
void MakeExceptionIfFinalized()
 
const G4MoleculeDefinition * fMoleculeDefinition
 
void AddDiffCoeffParameterization(const G4DiffCoeffParam &)
 
G4double GetVanDerVaalsRadius() const 
 
static G4MolecularConfiguration * CreateMolecularConfiguration(const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)