File indexing completed on 2026-09-21 09:11:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 #ifndef G4StatMFMacroTemperature_h
0032 #define G4StatMFMacroTemperature_h 1
0033
0034 #include <vector>
0035 #include "globals.hh"
0036 #include "G4VStatMFMacroCluster.hh"
0037 #include "G4FunctionSolver.hh"
0038
0039 class G4StatMFMacroChemicalPotential;
0040
0041 class G4StatMFMacroTemperature {
0042
0043 public:
0044
0045 G4StatMFMacroTemperature();
0046 ~G4StatMFMacroTemperature();
0047
0048 void Initialise(const G4int anA, const G4int aZ,
0049 const G4double ExEnergy, const G4double FreeE0,
0050 const G4double kappa,
0051 std::vector<G4VStatMFMacroCluster*>* ClusterVector);
0052
0053
0054 G4double Function(G4double T)
0055 { return (fExEnergy - FragsExcitEnergy(T)); }
0056
0057
0058 G4StatMFMacroTemperature(const G4StatMFMacroTemperature&) = delete;
0059 G4StatMFMacroTemperature& operator=
0060 (const G4StatMFMacroTemperature& right) = delete;
0061 G4bool operator==(const G4StatMFMacroTemperature& right) const = delete;
0062 G4bool operator!=(const G4StatMFMacroTemperature& right) const = delete;
0063
0064 G4double GetMeanMultiplicity(void) const {return fMeanMultiplicity;}
0065
0066 G4double GetChemicalPotentialMu(void) const {return fChemPotentialMu;}
0067
0068 G4double GetChemicalPotentialNu(void) const {return fChemPotentialNu;}
0069
0070 G4double GetTemperature(void) const {return fMeanTemperature;}
0071
0072 G4double GetEntropy(void) const {return fMeanEntropy;}
0073
0074 G4double CalcTemperature(void);
0075
0076 private:
0077
0078 G4double FragsExcitEnergy(const G4double T);
0079
0080 void CalcChemicalPotentialNu(const G4double T);
0081
0082 G4FunctionSolver<G4StatMFMacroTemperature>* fSolver;
0083 G4StatMFMacroChemicalPotential* theChemPot;
0084
0085 G4int theA{0};
0086 G4int theZ{0};
0087 G4double fExEnergy{0.0};
0088 G4double fFreeInternalE0{0.0};
0089 G4double fKappa{0.0};
0090 G4double fMeanMultiplicity{0.0};
0091 G4double fMeanTemperature{0.0};
0092 G4double fChemPotentialMu{0.0};
0093 G4double fChemPotentialNu{0.0};
0094 G4double fMeanEntropy{0.0};
0095
0096 std::vector<G4VStatMFMacroCluster*>* fClusters{nullptr};
0097 };
0098
0099 #endif