Warning, file /include/Geant4/G4QMDMeanField.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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 #ifndef G4QMDMeanField_hh
0031 #define G4QMDMeanField_hh
0032
0033 #include "G4QMDSystem.hh"
0034 #include "G4QMDNucleus.hh"
0035
0036 class G4QMDMeanField
0037 {
0038 public:
0039
0040 G4QMDMeanField();
0041 ~G4QMDMeanField() = default;
0042
0043 void SetSystem ( G4QMDSystem* aSystem );
0044 void SetNucleus ( G4QMDNucleus* aSystem );
0045 inline G4QMDSystem* GetSystem () { return system; }
0046
0047 void Cal2BodyQuantities();
0048 void Cal2BodyQuantities( G4int );
0049
0050 void CalGraduate();
0051
0052 G4bool IsPauliBlocked( G4int );
0053
0054 G4double GetTotalPotential();
0055 G4double GetPotential( G4int );
0056
0057 void DoPropagation( G4double );
0058
0059 std::vector< G4QMDNucleus* > DoClusterJudgment();
0060
0061 inline G4double GetRR2( G4int i , G4int j ) { return rr2[i][j]; }
0062
0063 inline G4double GetRHA( G4int i , G4int j ) { return rha[i][j]; }
0064 inline G4double GetRHE( G4int i , G4int j ) { return rhe[i][j]; }
0065 inline G4ThreeVector GetFFr( G4int i ) { return ffr[i]; }
0066 inline G4ThreeVector GetFFp( G4int i ) { return ffp[i]; }
0067
0068 std::vector< G4double > GetLocalDensity();
0069 std::vector< G4double > GetDepthOfPotential();
0070
0071 void Update();
0072
0073 private:
0074
0075 G4double calPauliBlockingFactor( G4int );
0076
0077 private:
0078
0079 G4QMDSystem* system;
0080
0081 G4double rclds { 4.0 };
0082
0083 G4double hbc , rho0;
0084 G4double epsx { -20.0 };
0085 G4double epscl { 0.0001 };
0086
0087 G4double cpc;
0088
0089
0090 G4int irelcr { 1 };
0091 G4double gamm, c0, c3, cs, cl, wl;
0092
0093 G4double c0w, clw, c0sw;
0094
0095 G4double c0g,c3g,csg,pag;
0096
0097 G4double cpw,cph;
0098
0099
0100 std::vector < std::vector < G4double > > rr2;
0101 std::vector < std::vector < G4double > > pp2;
0102 std::vector < std::vector < G4double > > rbij;
0103
0104
0105 std::vector < std::vector < G4double > > rha;
0106
0107
0108 std::vector < std::vector < G4double > > rhe;
0109 std::vector < std::vector < G4double > > rhc;
0110
0111 std::vector < G4ThreeVector > ffr;
0112 std::vector < G4ThreeVector > ffp;
0113 std::vector < G4double > rh3d;
0114 };
0115
0116 #endif