// // ******************************************************************** // * DISCLAIMER * // * * // * The following disclaimer summarizes all the specific disclaimers * // * of contributors to this software. The specific disclaimers,which * // * govern, are listed with their locations in: * // * http://cern.ch/geant4/license * // * * // * 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. * // * * // * This code implementation is the intellectual property of the * // * GEANT4 collaboration. * // * By copying, distributing or modifying the Program (or any work * // * based on the Program) you indicate your acceptance of this * // * statement, and all its terms. * // ******************************************************************** // // // 05-11-21 NeutronHP or Low Energy Parameterization Models // Implemented by T. Koi (SLAC/SCCS) // If NeutronHP data do not available for an element, then Low Energy // Parameterization models handle the interactions of the element. // #ifndef G4NeutronHPorLEInelasticData_h #define G4NeutronHPorLEInelasticData_h 1 // Class Description // Cross-section data set for a high precision (based on evaluated data // libraries) description of neutron elastic scattering below 20 MeV; // To be used in your physics list in case you need this physics. // In this case you want to register an object of this class with // the corresponding process. // Class Description - End #include "G4NeutronHPChannel.hh" #include "G4NeutronHPChannelList.hh" #include "G4VCrossSectionDataSet.hh" #include "G4DynamicParticle.hh" #include "G4Element.hh" #include "G4ParticleDefinition.hh" #include "G4PhysicsTable.hh" #include class G4NeutronHPorLEInelasticData : public G4VCrossSectionDataSet { public: G4NeutronHPorLEInelasticData(); G4NeutronHPorLEInelasticData( G4NeutronHPChannelList* , std::set< G4String >* ); ~G4NeutronHPorLEInelasticData(); G4bool IsApplicable(const G4DynamicParticle*, const G4Element*); G4double GetCrossSection(const G4DynamicParticle*, const G4Element*, G4double aT); void BuildPhysicsTable(const G4ParticleDefinition&); void DumpPhysicsTable(const G4ParticleDefinition&); private: G4PhysicsTable* theCrossSections; private: G4NeutronHPChannelList* theInelasticChannel; std::set< G4String >* unavailable_elements; }; #endif