Import Geant4 11.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2025-12-05 08:54:02 +01:00
parent a499fb82e9
commit b4a16de652
6484 changed files with 232674 additions and 221097 deletions
@@ -23,19 +23,15 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// V. Uzhinsky Nov. 2012
// Added method GetProjectileNucleus for simulation of nucleus-nucleus inter.
//
#ifndef G4VHighEnergyGenerator_h
#define G4VHighEnergyGenerator_h 1
// Class Description
// Base class for high energy interaction models in geant4.
// By merit of inheriting from this class a high energy
// interaction model can be used in conjunction with
// any cascade, precompound model and evaporation phase in the
// generation of complete final states for inelastic scattering.
// Base class for high energy interaction models in Geant4.
// By inheriting from this class a high energy interaction model
// can be used in conjunction with any cascade, precompound model and
// evaporation phase in the generation of complete final states for
// inelastic scattering.
// Class Description - End
#include "G4HadronicInteraction.hh"
@@ -46,24 +42,39 @@
class G4KineticTrackVector;
class G4VHighEnergyGenerator : public G4HadronicInteraction
{
class G4VHighEnergyGenerator : public G4HadronicInteraction {
public:
G4VHighEnergyGenerator(const G4String& modelName = "HighEnergyGenerator");
~G4VHighEnergyGenerator() override;
G4VHighEnergyGenerator( const G4String& modelName = "HighEnergyGenerator" );
~G4VHighEnergyGenerator() override;
G4VHighEnergyGenerator(const G4VHighEnergyGenerator &right) = delete;
const G4VHighEnergyGenerator & operator=(const G4VHighEnergyGenerator &right) = delete;
G4bool operator==(const G4VHighEnergyGenerator &right) const = delete;
G4bool operator!=(const G4VHighEnergyGenerator &right) const = delete;
G4VHighEnergyGenerator( const G4VHighEnergyGenerator &right ) = delete;
const G4VHighEnergyGenerator & operator=( const G4VHighEnergyGenerator &right ) = delete;
G4bool operator==( const G4VHighEnergyGenerator &right ) const = delete;
G4bool operator!=( const G4VHighEnergyGenerator &right ) const = delete;
virtual G4V3DNucleus * GetWoundedNucleus() const = 0;
virtual G4V3DNucleus * GetProjectileNucleus() const;
virtual G4KineticTrackVector * Scatter(const G4Nucleus &theNucleus,
const G4DynamicParticle &thePrimary) = 0;
void ModelDescription(std::ostream&) const override;
virtual G4V3DNucleus* GetWoundedNucleus() const = 0;
virtual G4V3DNucleus* GetProjectileNucleus() const;
virtual G4KineticTrackVector* Scatter( const G4Nucleus &theNucleus,
const G4DynamicParticle &thePrimary) = 0;
void ModelDescription( std::ostream& ) const override;
G4bool IsQuasiElasticInteraction() const;
G4bool IsDiffractiveInteraction() const;
protected:
G4bool fIsQuasiElasticInteraction = false;
G4bool fIsDiffractiveInteraction = false;
};
inline G4bool G4VHighEnergyGenerator::IsQuasiElasticInteraction() const {
return fIsQuasiElasticInteraction;
}
inline G4bool G4VHighEnergyGenerator::IsDiffractiveInteraction() const {
return fIsDiffractiveInteraction;
}
#endif