G4RegionModel.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 #ifndef G4REGIONMODEL
00027 #define G4REGIONMODEL
00028 
00029 #include "G4ios.hh"
00030 #include <vector>
00031 #include <cmath>
00032 #include "globals.hh"
00033 #include "G4Proton.hh"
00034 #include "G4Neutron.hh"
00035 //#include "G4NucleusModel.hh"
00036 
00037 
00038 typedef std::vector<G4double>::const_iterator my_iterator; 
00039 
00040 class G4RegionModel //:public G4VRegionModel
00041 {
00042 public:
00043   G4RegionModel(const G4int numberOfLayers, const G4int A, const G4int Z);
00044   ~G4RegionModel();
00045 
00046   //instead of A and Z outer radius of the nucleus?
00047   //void Init(const G4int numberOfLayers, const G4int A, const G4int Z);
00048   G4double GetDensity(G4double radius);
00049   G4double GetPotentialEnergy(G4double r, G4int particle);
00050   G4double GetMaximumNucleonMomentum(G4double radius, G4int nucleon);
00051   // G4double NumberOfRegions();   
00052 
00053 private:
00054 
00055   G4int massNumber;
00056   G4int protonNumber;
00057   std::vector<G4double> radius; //contains the outer radiuses of the shells
00058   std::vector<G4double> density;
00059   std::vector<G4double> protonFermiEnergy;
00060   std::vector<G4double> neutronFermiEnergy;
00061   std::vector<G4double> protonFermiMomentum;
00062   std::vector<G4double> neutronFermiMomentum;
00063   
00064   std::vector<G4double> protonPotentialEnergy;
00065   std::vector<G4double> neutronPotentialEnergy;
00066 
00067   static const G4double radius0; 
00068   static const G4double BE;
00069   //static const G4double pi = 3.141592;
00070 
00071   G4double GetFermiMomentum(G4double density, G4double mass);
00072   G4double GetFermiEnergy(G4double density, G4double mass);
00073 };  
00074 #endif
00075 
00076 
00077 
00078 
00079 
00080 
00081 
00082 

Generated on Mon May 27 17:49:43 2013 for Geant4 by  doxygen 1.4.7