source: trunk/source/processes/hadronic/models/qmd/include/G4QMDMeanField.hh @ 1198

Last change on this file since 1198 was 962, checked in by garnier, 15 years ago

update processes

File size: 3.9 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26// -------------------------------------------------------------------
27//      GEANT4 Class file
28//
29//
30//      File name:    G4QMDMeanField.hh
31//
32//      Author: Koi, Tatsumi (tkoi@slac.stanford.edu)       
33//
34//      Creation date: 29 March 2007
35// -----------------------------------------------------------------------------
36// 081120 Add Update
37
38#ifndef G4QMDMeanField_hh
39#define G4QMDMeanField_hh
40
41#include "G4QMDSystem.hh"
42#include "G4QMDNucleus.hh"
43
44class G4QMDMeanField 
45{
46   public:
47      G4QMDMeanField();
48      ~G4QMDMeanField();
49
50      void SetSystem ( G4QMDSystem* aSystem );
51      void SetNucleus ( G4QMDNucleus* aSystem );
52      G4QMDSystem* GetSystem () {return system; };
53
54      void Cal2BodyQuantities(); 
55      void Cal2BodyQuantities( G4int ); 
56
57      void CalGraduate(); 
58
59      G4bool IsPauliBlocked( G4int ); 
60
61      G4double GetTotalPotential(); 
62
63      void DoPropagation( G4double );
64
65      std::vector< G4QMDNucleus* > DoClusterJudgment();
66
67      G4double GetRR2( G4int i , G4int j ) { return rr2[i][j]; };
68
69      G4double GetRHA( G4int i , G4int j ) { return rha[i][j]; };
70      G4double GetRHE( G4int i , G4int j ) { return rhe[i][j]; };
71      G4ThreeVector GetFFr( G4int i ) { return ffr[i]; };
72      G4ThreeVector GetFFp( G4int i ) { return ffp[i]; };
73
74      std::vector< G4double > GetLocalDensity(); 
75      std::vector< G4double > GetDepthOfPotential(); 
76
77      void Update();
78
79   private:
80      G4double calPauliBlockingFactor( G4int ); 
81
82      G4QMDSystem* system; 
83
84      G4double rclds;
85
86      G4double hbc , rho0;
87      G4double epsx , epscl; 
88
89      G4double cpc;
90
91      G4int icoul, irelcr;
92      G4double gamm, c0, c3, cs, cl, wl; 
93      G4double c0w, c3w, clw, c0sw;
94
95      G4double c0g,c3g,csg,pag; 
96
97      G4double cpw,cph;
98       
99      // 2 Body Quantities
100      std::vector < std::vector < G4double > > rr2;   
101      std::vector < std::vector < G4double > > pp2;   
102      std::vector < std::vector < G4double > > rbij;   
103
104      // Gauss
105      std::vector < std::vector < G4double > > rha;   
106
107      // Coulomb
108      std::vector < std::vector < G4double > > rhe;   
109      std::vector < std::vector < G4double > > rhc;   
110                                         
111      std::vector < G4ThreeVector > ffr;   
112      std::vector < G4ThreeVector > ffp;   
113      std::vector < G4double > rh3d;   
114       
115};
116
117#endif
Note: See TracBrowser for help on using the repository browser.