File indexing completed on 2026-09-18 09:14:31
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 G4StatMFMacroMultiplicity_h
0032 #define G4StatMFMacroMultiplicity_h 1
0033
0034 #include <vector>
0035 #include "globals.hh"
0036 #include "G4VStatMFMacroCluster.hh"
0037 #include "G4FunctionSolver.hh"
0038
0039 class G4StatMFMacroMultiplicity {
0040
0041 public:
0042
0043 G4StatMFMacroMultiplicity();
0044
0045 ~G4StatMFMacroMultiplicity();
0046
0047 void Initialise(const G4int anA, const G4double kappa,
0048 const G4double temp, const G4double nu,
0049 std::vector<G4VStatMFMacroCluster*>* cVector);
0050
0051 G4double Function(G4double mu)
0052 { return (theA - CalcMeanA(mu)); };
0053
0054 G4double CalcChemicalPotentialMu();
0055
0056 G4double GetMeanMultiplicity() const { return fMeanMultiplicity; }
0057
0058 G4double GetChemicalPotentialMu() const { return fChemPotentialMu; }
0059
0060 G4StatMFMacroMultiplicity(const G4StatMFMacroMultiplicity&) = delete;
0061 G4StatMFMacroMultiplicity& operator=
0062 (const G4StatMFMacroMultiplicity& right) = delete;
0063 G4bool operator==(const G4StatMFMacroMultiplicity& right) const = delete;
0064 G4bool operator!=(const G4StatMFMacroMultiplicity& right) const = delete;
0065
0066 private:
0067
0068 G4double CalcMeanA(const G4double mu);
0069
0070 G4int A{0};
0071 G4double theA{0};
0072 G4double fKappa{0.0};
0073 G4double fMeanTemperature{0.0};
0074 G4double fChemPotentialNu{0.0};
0075
0076 G4double fMeanMultiplicity{0.0};
0077 G4double fChemPotentialMu{0.0};
0078
0079 std::vector<G4VStatMFMacroCluster*>* fClusters{nullptr};
0080 G4FunctionSolver<G4StatMFMacroMultiplicity>* fSolver;
0081 };
0082
0083 #endif