// // ******************************************************************** // * License and Disclaimer * // * * // * The Geant4 software is copyright of the Copyright Holders of * // * the Geant4 Collaboration. It is provided under the terms and * // * conditions of the Geant4 Software License, included in the file * // * LICENSE and available at http://cern.ch/geant4/license . These * // * include a list of copyright holders. * // * * // * Neither the authors of this software system, nor their employing * // * institutes,nor the agencies providing financial support for this * // * work make any representation or warranty, express or implied, * // * regarding this software system or assume any liability for its * // * use. Please see the license in the file LICENSE and URL above * // * for the full disclaimer and the limitation of liability. * // * * // * This code implementation is the result of the scientific and * // * technical work of the GEANT4 collaboration. * // * By using, copying, modifying or distributing the software (or * // * any work based on the software) you agree to acknowledge its * // * use in resulting scientific publications, and indicate your * // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // // Author: Simona Saliceti (Simona.Saliceti@ge.infn.it) // // History: // ----------- // 22 Apr 2004 First committed to cvs // // ------------------------------------------------------------------- // Class description: // Low Energy Electromagnetic Physics // Parameterisation of cross sections for proton ionisation, K shell // 2nd iteration (refined model at low energy) // Based on Paul & Sacher database: // Further documentation available from http://www.ge.infn.it/geant4/lowE // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionDoubleExpData.hh,v 1.3 2006/06/29 19:38:14 gunter Exp $ // GEANT4 tag $Name: geant4-09-04-ref-00 $ #ifndef G4hShellCrossSectionDoubleExpData_HH #define G4hShellCrossSectionDoubleExpData_HH 1 #include "globals.hh" #include #include class G4hShellCrossSectionDoubleExpData { public: G4hShellCrossSectionDoubleExpData(); ~G4hShellCrossSectionDoubleExpData(); std::vector*> GetParam(G4int); private: void FillVectorValuesEnergy(); void FillVectorValuesPar1(); void FillVectorValuesPar2(); void FillParameterMapEnergy(); void FillParameterMapPar1(); void FillParameterMapPar2(); inline void InitializeVectorEnergy(std::vector &vectEnergy, G4double value) const; inline void InitializeVectorPar1(std::vector &vect, G4double value1, G4double value2, G4double value3) const; inline void InitializeVectorPar2(std::vector &vect, G4double value1, G4double value2, G4double value3, G4double value4, G4double value5) const; std::map*,std::less > parameterMapEnergy; std::map*,std::less > parameterMapPar1; std::map*,std::less > parameterMapPar2; // Vector conteining energy std::vector energy6C; std::vector energy7N ; std::vector energy8O ; std::vector energy9F ; std::vector energy10Ne; std::vector energy11Na; std::vector energy12Mg; std::vector energy13Al; std::vector energy14Si; std::vector energy15P ; std::vector energy16S ; std::vector energy17Cl; std::vector energy18Ar; std::vector energy19K ; std::vector energy20Ca; std::vector energy21Sc; std::vector energy22Ti; std::vector energy23V ; std::vector energy24Cr; std::vector energy25Mn; std::vector energy26Fe; std::vector energy27Co; std::vector energy28Ni; std::vector energy29Cu; std::vector energy30Zn; std::vector energy31Ga; std::vector energy32Ge; std::vector energy33As; std::vector energy34Se; std::vector energy35Br; std::vector energy36Kr; std::vector energy37Rb; std::vector energy38Sr; std::vector energy39Y ; std::vector energy40Zr; std::vector energy41Nb; std::vector energy42Mo; std::vector energy43Tc; std::vector energy44Ru; std::vector energy45Rh; std::vector energy46Pd; std::vector energy47Ag; std::vector energy48Cd; std::vector energy49In; std::vector energy50Sn; std::vector energy51Sb; std::vector energy52Te; std::vector energy53I ; std::vector energy54Xe; std::vector energy55Cs; std::vector energy56Ba; std::vector energy57La; std::vector energy58Ce; std::vector energy59Pr; std::vector energy60Nd; std::vector energy61Pm; std::vector energy62Sm; std::vector energy63Eu; std::vector energy64Gd; std::vector energy65Tb; std::vector energy66Dy; std::vector energy67Ho; std::vector energy68Er; std::vector energy69Tm; std::vector energy70Yb; std::vector energy71Lu; std::vector energy72Hf; std::vector energy73Ta; std::vector energy74W ; std::vector energy75Re; std::vector energy76Os; std::vector energy77Ir; std::vector energy78Pt; std::vector energy79Au; std::vector energy80Hg; std::vector energy81Tl; std::vector energy82Pb; std::vector energy83Bi; std::vector energy84Po; std::vector energy85At; std::vector energy86Rn; std::vector energy87Fr; std::vector energy88Ra; std::vector energy89Ac; std::vector energy90Th; std::vector energy91Pa; std::vector energy92U ; // Vector conteining parameters for low energy std::vector parlow6C; std::vector parlow7N ; std::vector parlow8O ; std::vector parlow9F ; std::vector parlow10Ne; std::vector parlow11Na; std::vector parlow12Mg; std::vector parlow13Al; std::vector parlow14Si; std::vector parlow15P ; std::vector parlow16S ; std::vector parlow17Cl; std::vector parlow18Ar; std::vector parlow19K ; std::vector parlow20Ca; std::vector parlow21Sc; std::vector parlow22Ti; std::vector parlow23V ; std::vector parlow24Cr; std::vector parlow25Mn; std::vector parlow26Fe; std::vector parlow27Co; std::vector parlow28Ni; std::vector parlow29Cu; std::vector parlow30Zn; std::vector parlow31Ga; std::vector parlow32Ge; std::vector parlow33As; std::vector parlow34Se; std::vector parlow35Br; std::vector parlow36Kr; std::vector parlow37Rb; std::vector parlow38Sr; std::vector parlow39Y ; std::vector parlow40Zr; std::vector parlow41Nb; std::vector parlow42Mo; std::vector parlow43Tc; std::vector parlow44Ru; std::vector parlow45Rh; std::vector parlow46Pd; std::vector parlow47Ag; std::vector parlow48Cd; std::vector parlow49In; std::vector parlow50Sn; std::vector parlow51Sb; std::vector parlow52Te; std::vector parlow53I ; std::vector parlow54Xe; std::vector parlow55Cs; std::vector parlow56Ba; std::vector parlow57La; std::vector parlow58Ce; std::vector parlow59Pr; std::vector parlow60Nd; std::vector parlow61Pm; std::vector parlow62Sm; std::vector parlow63Eu; std::vector parlow64Gd; std::vector parlow65Tb; std::vector parlow66Dy; std::vector parlow67Ho; std::vector parlow68Er; std::vector parlow69Tm; std::vector parlow70Yb; std::vector parlow71Lu; std::vector parlow72Hf; std::vector parlow73Ta; std::vector parlow74W ; std::vector parlow75Re; std::vector parlow76Os; std::vector parlow77Ir; std::vector parlow78Pt; std::vector parlow79Au; std::vector parlow80Hg; std::vector parlow81Tl; std::vector parlow82Pb; std::vector parlow83Bi; std::vector parlow84Po; std::vector parlow85At; std::vector parlow86Rn; std::vector parlow87Fr; std::vector parlow88Ra; std::vector parlow89Ac; std::vector parlow90Th; std::vector parlow91Pa; std::vector parlow92U ; // Vector conteining parameters for high energy std::vector parhigh6C; std::vector parhigh7N ; std::vector parhigh8O ; std::vector parhigh9F ; std::vector parhigh10Ne; std::vector parhigh11Na; std::vector parhigh12Mg; std::vector parhigh13Al; std::vector parhigh14Si; std::vector parhigh15P ; std::vector parhigh16S ; std::vector parhigh17Cl; std::vector parhigh18Ar; std::vector parhigh19K ; std::vector parhigh20Ca; std::vector parhigh21Sc; std::vector parhigh22Ti; std::vector parhigh23V ; std::vector parhigh24Cr; std::vector parhigh25Mn; std::vector parhigh26Fe; std::vector parhigh27Co; std::vector parhigh28Ni; std::vector parhigh29Cu; std::vector parhigh30Zn; std::vector parhigh31Ga; std::vector parhigh32Ge; std::vector parhigh33As; std::vector parhigh34Se; std::vector parhigh35Br; std::vector parhigh36Kr; std::vector parhigh37Rb; std::vector parhigh38Sr; std::vector parhigh39Y ; std::vector parhigh40Zr; std::vector parhigh41Nb; std::vector parhigh42Mo; std::vector parhigh43Tc; std::vector parhigh44Ru; std::vector parhigh45Rh; std::vector parhigh46Pd; std::vector parhigh47Ag; std::vector parhigh48Cd; std::vector parhigh49In; std::vector parhigh50Sn; std::vector parhigh51Sb; std::vector parhigh52Te; std::vector parhigh53I ; std::vector parhigh54Xe; std::vector parhigh55Cs; std::vector parhigh56Ba; std::vector parhigh57La; std::vector parhigh58Ce; std::vector parhigh59Pr; std::vector parhigh60Nd; std::vector parhigh61Pm; std::vector parhigh62Sm; std::vector parhigh63Eu; std::vector parhigh64Gd; std::vector parhigh65Tb; std::vector parhigh66Dy; std::vector parhigh67Ho; std::vector parhigh68Er; std::vector parhigh69Tm; std::vector parhigh70Yb; std::vector parhigh71Lu; std::vector parhigh72Hf; std::vector parhigh73Ta; std::vector parhigh74W ; std::vector parhigh75Re; std::vector parhigh76Os; std::vector parhigh77Ir; std::vector parhigh78Pt; std::vector parhigh79Au; std::vector parhigh80Hg; std::vector parhigh81Tl; std::vector parhigh82Pb; std::vector parhigh83Bi; std::vector parhigh84Po; std::vector parhigh85At; std::vector parhigh86Rn; std::vector parhigh87Fr; std::vector parhigh88Ra; std::vector parhigh89Ac; std::vector parhigh90Th; std::vector parhigh91Pa; std::vector parhigh92U ; }; #endif