// ******************************************************************** // * 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. * // ******************************************************************** // // // $Id: G4CrossSectionDataLib.hh,v 1.1 2007/10/12 23:07:10 pia Exp $ // GEANT4 tag $Name: geant4-09-01-ref-00 $ // // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // // History: // ----------- // Date Name Modification // 17 Feb 2008 M.G. Pia Created // 26 Feb 2009 // 02 Mar 2009 // ------------------------------------------------------------------- // Class description: // Computation of Compton scattering total cross-sections // based on a parameterized formula for energies from 10 keV to 100 GeV // Further documentation available in Geant4 Physics Reference Manual // ------------------------------------------------------------------- #ifndef G4CSCOMPTONAPC_HH #define G4CSCOMPTONAPC_HH 1 #include "G4String.hh" class G4DataVector; #include class G4CsComptonAPC { public: G4CsComptonAPC(); ~G4CsComptonAPC(); // Identify the process to which it is pertinent and (optional) path to data source // void Identify(const G4String& processName, // const G4String& dataSource = "std", // const G4String& prefix = "", // G4bool withShell = false); // Initialisation (and future hook for Observer pattern) // void Build(); // Cross section value double CrossSection(int Z, double e); // Print cross section for a given identifier (Z) as a function of energy // void Print(int id); // Retrieve cross section model name const G4String& Name(); // Applicability features double ApplicableRangeMin(); double ApplicableRangeMax(); // double UseRangeMin(); // double UseRangeMax(); // void SetUseRange(double eLow,double eHigh); // Special case of cross sections that require a specific energy grid //const G4DataVector& Grid(int ); private: double eMin; double eMax; //double eMinUse; //double eMaxUse; //G4String name; //G4String model; //G4String process; //G4DataVector* grid; // Copy constructor and assignment operator to be added here G4CsComptonAPC(const G4CsComptonAPC& source); G4CsComptonAPC& operator=(const G4CsComptonAPC& source); double CrossFormula(double x, int Z); }; #endif