00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef G4StatMFMacroMultiplicity_h
00033 #define G4StatMFMacroMultiplicity_h 1
00034
00035 #include <vector>
00036
00037 #include "G4StatMFParameters.hh"
00038 #include "G4VStatMFMacroCluster.hh"
00039 #include "G4Solver.hh"
00040
00041
00042
00043 class G4StatMFMacroMultiplicity {
00044
00045 public:
00046
00047 G4StatMFMacroMultiplicity(const G4double anA,
00048 const G4double kappa,
00049 const G4double temp,
00050 const G4double nu,
00051 std::vector<G4VStatMFMacroCluster*> * ClusterVector) :
00052 theA(anA),
00053 _Kappa(kappa),
00054 _MeanMultiplicity(0.0),
00055 _MeanTemperature(temp),
00056 _ChemPotentialMu(0.0),
00057 _ChemPotentialNu(nu),
00058 _theClusters(ClusterVector)
00059 {};
00060
00061 ~G4StatMFMacroMultiplicity() {};
00062
00063 G4double operator()(const G4double mu)
00064 { return (theA - this->CalcMeanA(mu))/theA; }
00065
00066 private:
00067
00068 G4StatMFMacroMultiplicity() {};
00069
00070
00071 G4StatMFMacroMultiplicity(const G4StatMFMacroMultiplicity &) {};
00072
00073
00074
00075 G4StatMFMacroMultiplicity & operator=(const G4StatMFMacroMultiplicity & right);
00076 G4bool operator==(const G4StatMFMacroMultiplicity & right) const;
00077 G4bool operator!=(const G4StatMFMacroMultiplicity & right) const;
00078
00079 public:
00080
00081 G4double GetMeanMultiplicity(void) const {return _MeanMultiplicity;}
00082
00083 G4double GetChemicalPotentialMu(void) const {return _ChemPotentialMu;}
00084
00085 G4double CalcChemicalPotentialMu(void);
00086
00087 private:
00088
00089 G4double CalcMeanA(const G4double mu);
00090
00091 private:
00092
00093 G4double theA;
00094
00095 G4double _Kappa;
00096
00097 G4double _MeanMultiplicity;
00098
00099 G4double _MeanTemperature;
00100
00101 G4double _ChemPotentialMu;
00102
00103 G4double _ChemPotentialNu;
00104
00105 std::vector<G4VStatMFMacroCluster*> * _theClusters;
00106
00107
00108 };
00109 #endif