Import Geant4 9.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:25:56 +02:00
parent 74cad5e589
commit 89a9605df1
4440 changed files with 379508 additions and 189225 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4HadronicInteraction.hh,v 1.13 2009/10/02 17:18:33 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4HadronicInteraction.hh,v 1.14 2010/04/03 00:40:45 dennis Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Hadronic Interaction abstract base class
// This class is the base class for the model classes.
@@ -138,7 +138,6 @@ public: // With description
}
G4bool IsBlocked( const G4Material *aMaterial ) const;
G4bool IsBlocked( const G4Element *anElement) const;
inline void SetRecoilEnergyThreshold(G4double val)
@@ -152,11 +151,18 @@ public: // With description
inline G4bool operator!=(const G4HadronicInteraction &right ) const
{ return ( this != (G4HadronicInteraction *) &right ); }
inline std::pair<G4double, G4double> GetEnergyMomentumCheckLevels() const
{ return epCheckLevels; }
inline void SetEnergyMomentumCheckLevels(G4double relativeLevel, G4double absoluteLevel)
{ epCheckLevels.first = relativeLevel;
epCheckLevels.second = absoluteLevel; }
private:
G4HadronicInteraction(const G4HadronicInteraction &right );
const G4HadronicInteraction& operator=(const G4HadronicInteraction &right);
protected:
@@ -190,7 +196,9 @@ private:
G4double recoilEnergyThreshold;
G4String theModelName;
std::pair<G4double, G4double> epCheckLevels;
std::vector<std::pair<G4double, const G4Material *> > theMinEnergyList;
std::vector<std::pair<G4double, const G4Material *> > theMaxEnergyList;
std::vector<std::pair<G4double, const G4Element *> > theMinEnergyListElements;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4V3DNucleus.hh,v 1.7 2009/11/19 14:29:05 gunter Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4V3DNucleus.hh,v 1.8 2010/09/08 16:39:22 gunter Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
#ifndef G4V3DNucleus_h
#define G4V3DNucleus_h 1
@@ -51,7 +51,7 @@ class G4V3DNucleus
int operator!=(const G4V3DNucleus &right) const;
public:
virtual void Init(G4double theA, G4double theZ) = 0;
virtual void Init(G4int theA, G4int theZ) = 0;
virtual G4bool StartLoop() = 0;
virtual G4Nucleon * GetNextNucleon() = 0;
virtual const std::vector<G4Nucleon *> & GetNucleons() = 0;
@@ -23,11 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4VIntraNuclearTransportModel.hh,v 1.5 2010/08/28 15:53:50 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
// $Id: G4VIntraNuclearTransportModel.hh,v 1.4 2007/01/11 05:29:46 dennis Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
// $Id: G4IntraNuclearTransportMode.hh,v 1.0 1998/06/30
// -----------------------------------------------------------------------------
// GEANT 4 class header file
//
@@ -54,57 +52,48 @@
#include "G4ReactionProduct.hh"
#include "G4HadProjectile.hh"
#include "G4HadFinalState.hh"
class G4KineticTrackVector;
class G4VIntraNuclearTransportModel : public G4HadronicInteraction
{
public:
public:
G4VIntraNuclearTransportModel(const G4String& modelName = "CascadeModel");
G4VIntraNuclearTransportModel(const G4String& modelName = "CascadeModel");
G4VIntraNuclearTransportModel(const G4VIntraNuclearTransportModel& right);
virtual ~G4VIntraNuclearTransportModel();
virtual ~G4VIntraNuclearTransportModel();
virtual
G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries,
G4V3DNucleus* theNucleus) = 0;
const G4VIntraNuclearTransportModel& operator=(const G4VIntraNuclearTransportModel &right);
inline void SetDeExcitation(G4VPreCompoundModel* const value);
int operator==(const G4VIntraNuclearTransportModel& right) const;
inline void Set3DNucleus(G4V3DNucleus* const value);
int operator!=(const G4VIntraNuclearTransportModel& right) const;
inline const G4String& GetModelName() const;
virtual G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries,
G4V3DNucleus* theNucleus) = 0;
private:
void SetDeExcitation(G4VPreCompoundModel* const value);
void Set3DNucleus(G4V3DNucleus* const value);
G4VIntraNuclearTransportModel(const G4VIntraNuclearTransportModel& right);
const G4VIntraNuclearTransportModel& operator=(const G4VIntraNuclearTransportModel &right);
int operator==(const G4VIntraNuclearTransportModel& right) const;
int operator!=(const G4VIntraNuclearTransportModel& right) const;
protected:
protected:
inline G4V3DNucleus* Get3DNucleus() const;
G4String GetModelName() const;
inline G4VPreCompoundModel* GetDeExcitation() const;
G4V3DNucleus* Get3DNucleus() const;
G4String theTransportModelName;
G4VPreCompoundModel* GetDeExcitation() const;
G4V3DNucleus* the3DNucleus;
protected:
G4String theTransportModelName;
G4V3DNucleus* the3DNucleus;
G4VPreCompoundModel* theDeExcitation;
G4VPreCompoundModel* theDeExcitation;
};
// Class G4VIntraNuclearTransportModel
inline G4String G4VIntraNuclearTransportModel::GetModelName() const
inline const G4String& G4VIntraNuclearTransportModel::GetModelName() const
{
return theTransportModelName;
}
@@ -119,16 +108,16 @@ inline void G4VIntraNuclearTransportModel::Set3DNucleus(G4V3DNucleus* const valu
delete the3DNucleus; the3DNucleus = value;
}
inline G4VPreCompoundModel* G4VIntraNuclearTransportModel::GetDeExcitation() const
{
return theDeExcitation;
}
inline void G4VIntraNuclearTransportModel::SetDeExcitation(G4VPreCompoundModel* const value)
inline void
G4VIntraNuclearTransportModel::SetDeExcitation(G4VPreCompoundModel* const value)
{
delete theDeExcitation; theDeExcitation = value;
delete theDeExcitation;
theDeExcitation = value;
}
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VPreCompoundModel.hh,v 1.5 2007/01/11 05:29:34 dennis Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VPreCompoundModel.hh,v 1.7 2010/08/20 07:43:28 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
#ifndef G4VPreCompoundModel_h
@@ -41,6 +41,7 @@
#include "G4HadronicInteraction.hh"
#include "G4ReactionProductVector.hh"
#include "G4ReactionProduct.hh"
class G4HadProjectile;
class G4HadFinalState;
class G4Nucleus;
@@ -53,49 +54,46 @@ public:
G4VPreCompoundModel(G4ExcitationHandler* const value,
const G4String& modelName = "PrecompoundModel");
virtual ~G4VPreCompoundModel() {};
virtual ~G4VPreCompoundModel();
protected:
// default constructor
G4VPreCompoundModel() {};
private:
// default constructor
G4VPreCompoundModel();
// copy constructor
G4VPreCompoundModel(const G4VPreCompoundModel &) : G4HadronicInteraction() {};
G4VPreCompoundModel(const G4VPreCompoundModel &);
// operators
const G4VPreCompoundModel& operator=(const G4VPreCompoundModel &right);
G4bool operator==(const G4VPreCompoundModel &right) const;
G4bool operator!=(const G4VPreCompoundModel &right) const;
public:
virtual G4HadFinalState *
ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus) = 0;
virtual G4ReactionProductVector*
DeExcite(const G4Fragment& aFragment) const = 0;
virtual G4ReactionProductVector* DeExcite(G4Fragment& aFragment) = 0;
void SetExcitationHandler(G4ExcitationHandler *const value);
inline void SetExcitationHandler(G4ExcitationHandler *const value);
protected:
const G4ExcitationHandler * GetExcitationHandler() const;
inline const G4ExcitationHandler * GetExcitationHandler() const;
private:
G4ExcitationHandler *theExcitationHandler;
};
inline const G4ExcitationHandler* G4VPreCompoundModel::GetExcitationHandler() const
{
return theExcitationHandler;
}
inline void G4VPreCompoundModel::SetExcitationHandler(G4ExcitationHandler *const value)
{
theExcitationHandler = value;
}
inline const G4ExcitationHandler* G4VPreCompoundModel::GetExcitationHandler() const
{
return theExcitationHandler;
}
#endif