G4ecpssrFormFactorMixsModel.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 // History:
00027 // -----------
00028 //  01 Oct 2011   A.M., S.I. - 1st implementation
00029 // 
00030 // Class description
00031 // ----------------
00032 //  Computation of K, L & M shell ECPSSR ionisation cross sections for protons and alphas
00033 //  Based on the work of A. Taborda et al. 
00034 //  X-Ray Spectrom. 2011, 40, 127-134
00035 // ---------------------------------------------------------------------------------------
00036 
00037 #ifndef G4ecpssrFormFactorMixsModel_HH
00038 #define G4ecpssrFormFactorMixsModel_HH 1
00039 
00040 #include "G4VecpssrMiModel.hh"
00041 #include "globals.hh"
00042 #include <map>
00043 
00044 class G4VDataSetAlgorithm;
00045 class G4VEMDataSet;
00046 
00047 class G4ecpssrFormFactorMixsModel : public G4VecpssrMiModel
00048 
00049 {
00050 public:
00051 
00052   G4ecpssrFormFactorMixsModel();
00053 
00054   virtual ~G4ecpssrFormFactorMixsModel();
00055                              
00056   G4double CalculateM1CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident);
00057   G4double CalculateM2CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident);
00058   G4double CalculateM3CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident);                                  
00059   G4double CalculateM4CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident);                                  
00060   G4double CalculateM5CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident);                                  
00061 private:
00062 
00063   G4double CalculateMiCrossSection (G4int zTarget, G4double massIncident, G4double energyIncident, G4int mShellId);
00064 
00065   G4ecpssrFormFactorMixsModel(const G4ecpssrFormFactorMixsModel&);
00066   G4ecpssrFormFactorMixsModel & operator = (const G4ecpssrFormFactorMixsModel &right);
00067 
00068   G4VDataSetAlgorithm* interpolation;
00069 
00070   std::vector< std::map<G4int,G4VEMDataSet*> > protonMiXsVector;
00071   std::vector< std::map<G4int,G4VEMDataSet*> > alphaMiXsVector;
00072 
00073   std::map< G4int , G4VEMDataSet* > protonM1DataSetMap;
00074   std::map< G4int , G4VEMDataSet* > protonM2DataSetMap;
00075   std::map< G4int , G4VEMDataSet* > protonM3DataSetMap;
00076   std::map< G4int , G4VEMDataSet* > protonM4DataSetMap;
00077   std::map< G4int , G4VEMDataSet* > protonM5DataSetMap;
00078 
00079   std::map< G4int , G4VEMDataSet* > alphaM1DataSetMap;
00080   std::map< G4int , G4VEMDataSet* > alphaM2DataSetMap;
00081   std::map< G4int , G4VEMDataSet* > alphaM3DataSetMap;
00082   std::map< G4int , G4VEMDataSet* > alphaM4DataSetMap;
00083   std::map< G4int , G4VEMDataSet* > alphaM5DataSetMap;
00084 
00085 };
00086 
00087 #endif

Generated on Mon May 27 17:48:05 2013 for Geant4 by  doxygen 1.4.7