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: G4ParticleChangeForDecay.hh,v 1.9 2006/06/29 21:14:19 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticleChangeForDecay.hh,v 1.10 2010/07/21 09:30:15 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
@@ -157,19 +157,3 @@ inline
}
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleChangeForTransport.hh,v 1.16 2006/06/29 21:14:31 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticleChangeForTransport.hh,v 1.17 2010/07/21 09:30:15 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
// ------------------------------------------------------------
@@ -125,7 +125,7 @@ class G4ParticleChangeForTransport: public G4ParticleChange
private:
G4bool isMomentumChanged;
// The flag which is set if mometum is changed in this stepi
// The flag which is set if momentum is changed in current step
G4Material* theMaterialChange;
const G4MaterialCutsCouple* theMaterialCutsCoupleChange;
G4VSensitiveDetector* theSensitiveDetectorChange;
+31 -12
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Step.hh,v 1.19 2008/01/12 12:00:25 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4Step.hh,v 1.23 2010/11/10 08:42:47 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
//---------------------------------------------------------------
@@ -120,14 +120,7 @@ class G4Step
G4SteppingControl GetControlFlag() const;
void SetControlFlag(G4SteppingControl StepControlFlag);
// difference of position, time, momentum and energy
G4ThreeVector GetDeltaPosition() const;
G4double GetDeltaTime() const;
G4ThreeVector GetDeltaMomentum() const;
G4double GetDeltaEnergy() const;
// manipulation of total energy deposit
// manipulation of total energy deposit
void AddTotalEnergyDeposit(G4double value);
void ResetTotalEnergyDeposit();
@@ -137,6 +130,8 @@ class G4Step
// Get/Set/Clear flag for initial/last step
// NOTE: following flags are not used
// will be ready in later release
G4bool IsFirstStepInVolume() const;
G4bool IsLastStepInVolume() const;
@@ -145,6 +140,18 @@ class G4Step
void SetLastStepFlag();
void ClearLastStepFlag();
// difference of position, time, momentum and energy
G4ThreeVector GetDeltaPosition() const;
G4double GetDeltaTime() const;
// These methods will be deleted
// NOTE: use GetTotalEnergyDeposit() to obtain
// energy loss in the material
//
G4ThreeVector GetDeltaMomentum() const;
G4double GetDeltaEnergy() const;
// Other member functions
void InitializeStep( G4Track* aValue );
// initiaize contents of G4Step
@@ -190,12 +197,24 @@ class G4Step
// Secondary buckets
public:
G4TrackVector* GetSecondary() const;
// NOTE: Secondary bucket of the Step contains
// all secondaries during tracking the current track
// (i.e. NOT secondaries produced in the current step)
// all following methods give same object (i.e. G4TrackVector )
// but 2nd one will create bucket in addition
const G4TrackVector* GetSecondary() const ;
G4TrackVector* GetfSecondary();
G4TrackVector* NewSecondaryVector();
// just delete secondary bucket
// NOTE: G4Track objects inside the bucket are not deleted
void DeleteSecondaryVector();
// Add secondary tracks to the bucket
void SetSecondary( G4TrackVector* value);
private:
private:
// Secondaty bucket implemented by using std::vector of G4Track*
G4TrackVector* fSecondary;
// Prototyping implementation of smooth representation of curved
+23 -26
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Step.icc,v 1.19 2008/02/05 01:46:57 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4Step.icc,v 1.23 2010/11/10 08:42:47 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
//---------------------------------------------------------------
@@ -85,19 +85,6 @@ inline
- fpPreStepPoint->GetLocalTime();
}
inline
G4ThreeVector G4Step::GetDeltaMomentum() const
{
return fpPostStepPoint->GetMomentum()
- fpPreStepPoint->GetMomentum();
}
inline
G4double G4Step::GetDeltaEnergy() const
{
return fpPostStepPoint->GetKineticEnergy()
- fpPreStepPoint->GetKineticEnergy();
}
inline
G4double G4Step::GetTotalEnergyDeposit() const
@@ -162,10 +149,11 @@ inline
inline
void G4Step::CopyPostToPreStepPoint( )
{
{
//This method is called at the beggining of each step
*(fpPreStepPoint) = *(fpPostStepPoint);
fpPostStepPoint->SetStepStatus(fUndefined);
}
}
//-------------------------------------------------------------
@@ -221,7 +209,6 @@ inline
fpPreStepPoint->SetCharge(fpTrack->GetDynamicParticle()->GetCharge());
fpPreStepPoint->SetWeight(fpTrack->GetWeight());
(*fpPostStepPoint) = (*fpPreStepPoint);
}
@@ -250,23 +237,33 @@ inline
fpTrack->SetNextTouchableHandle(fpPostStepPoint->GetTouchableHandle());
fpTrack->SetWeight(fpPostStepPoint->GetWeight());
// set velocity
fpPostStepPoint->SetVelocity(fpTrack->GetVelocity());
}
inline G4TrackVector* G4Step::GetfSecondary() {
inline const G4TrackVector* G4Step::GetSecondary() const
{
return fSecondary;
}
inline G4TrackVector* G4Step::GetSecondary() const {
}
inline G4TrackVector* G4Step::GetfSecondary()
{
return fSecondary;
}
inline void G4Step::SetSecondary(G4TrackVector* value) {
}
inline void G4Step::SetSecondary(G4TrackVector* value)
{
fSecondary=value;
}
inline G4TrackVector* G4Step::NewSecondaryVector() {
}
inline
G4TrackVector* G4Step::NewSecondaryVector()
{
fSecondary=new G4TrackVector();
return fSecondary;
}
}
inline void G4Step::DeleteSecondaryVector() {
delete fSecondary;
}
+25 -3
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Track.hh,v 1.19 2008/10/24 08:22:20 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4Track.hh,v 1.23 2010/11/08 21:25:38 asaim Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
//---------------------------------------------------------------
@@ -58,6 +58,8 @@
#include "G4TouchableHandle.hh" // Include from 'geometry'
#include "G4VUserTrackInformation.hh"
#include "G4PhysicsLogVector.hh"
#include "G4Material.hh"
class G4Step; // Forward declaration
@@ -115,6 +117,9 @@ public: // With description
const G4DynamicParticle* GetDynamicParticle() const;
// particle definition
const G4ParticleDefinition* GetParticleDefinition() const;
// following method of GetDefinition remains
// because of backward compatiblity. It will be removed in future
G4ParticleDefinition* GetDefinition() const;
// position, time
@@ -151,6 +156,10 @@ public: // With description
const G4TouchableHandle& GetNextTouchableHandle() const;
void SetNextTouchableHandle( const G4TouchableHandle& apValue);
const G4VTouchable* GetOriginTouchable() const;
const G4TouchableHandle& GetOriginTouchableHandle() const;
void SetOriginTouchableHandle( const G4TouchableHandle& apValue);
// energy
G4double GetKineticEnergy() const;
void SetKineticEnergy(const G4double aValue);
@@ -234,6 +243,8 @@ public: // With description
//---------
private:
//---------
// prepare velocity table
void PrepareVelocityTable();
// Member data
G4int fCurrentStepNumber; // Total steps number up to now
@@ -246,6 +257,7 @@ public: // With description
G4TouchableHandle fpTouchable;
G4TouchableHandle fpNextTouchable;
G4TouchableHandle fpOriginTouchable;
// Touchable Handle
G4DynamicParticle* fpDynamicParticle;
@@ -276,8 +288,18 @@ public: // With description
const G4VProcess* fpCreatorProcess; // Process which created the track
G4VUserTrackInformation* fpUserInformation;
mutable G4Material* prev_mat;
mutable G4MaterialPropertyVector* groupvel;
mutable G4double prev_velocity;
mutable G4double prev_momentum;
static G4PhysicsLogVector* velTable;
static const G4double maxT;
static const G4double minT;
G4bool is_OpticalPhoton;
};
#include "G4Step.hh"
#include "G4Track.icc"
#endif
+28 -17
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Track.icc,v 1.16 2008/10/24 08:22:20 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4Track.icc,v 1.21 2010/11/08 21:25:38 asaim Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//-----------------------------------------------------------------
// Definitions of inline functions
@@ -38,6 +38,13 @@
extern G4DLLIMPORT G4Allocator<G4Track> aTrackAllocator;
#endif
//-------------------------------------------------------------
// To implement bi-directional association between G4Step and
// and G4Track, a combined usage of 'forward declaration' and
// 'include' is necessary.
//-------------------------------------------------------------
#include "G4Step.hh"
// Operators
inline void* G4Track::operator new(size_t)
@@ -65,6 +72,10 @@
inline G4ParticleDefinition* G4Track::GetDefinition() const
{ return fpDynamicParticle->GetDefinition(); }
// particle definition
inline const G4ParticleDefinition* G4Track::GetParticleDefinition() const
{ return fpDynamicParticle->GetParticleDefinition(); }
// parent track ID
inline G4int G4Track::GetParentID() const
{ return fParentID; }
@@ -167,6 +178,20 @@
fpNextTouchable = apValue;
}
inline const G4VTouchable* G4Track::GetOriginTouchable() const
{
return fpOriginTouchable();
}
inline const G4TouchableHandle& G4Track::GetOriginTouchableHandle() const
{
return fpOriginTouchable;
}
inline void G4Track::SetOriginTouchableHandle( const G4TouchableHandle& apValue)
{
fpOriginTouchable = apValue;
}
// kinetic energy
inline G4double G4Track::GetKineticEnergy() const
@@ -288,22 +313,8 @@
inline void G4Track::SetUserInformation(G4VUserTrackInformation* aValue)
{ fpUserInformation = aValue; }
//-------------------------------------------------------------
// To implement bi-directional association between G4Step and
// and G4Track, a combined usage of 'forward declaration' and
// 'include' is necessary.
//-------------------------------------------------------------
#include "G4Step.hh"
inline const G4Step* G4Track::GetStep() const
{ return fpStep; }
inline void G4Track::SetStep(const G4Step* aValue)
{ fpStep = (aValue); }
{ fpStep = aValue; }
+5 -5
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TrackVector.hh,v 1.2 2006/07/17 13:48:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrackVector.hh,v 1.4 2010/11/10 08:42:47 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -46,12 +46,12 @@
#define G4TrackVector_h 1
#include <vector>
//#include "G4Track.hh" // Include form 'tracking'
class G4Track;
class G4Step;
///////////////////////////////////////////////////
typedef std::vector<G4Track*> G4TrackVector;
///////////////////////////////////////////////////
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VUserTrackInformation.hh,v 1.8 2009/10/19 17:11:43 kurasige Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4VUserTrackInformation.hh,v 1.9 2010/03/09 02:49:44 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
//---------------------------------------------------------------
@@ -68,20 +68,14 @@ class G4VUserTrackInformation
virtual ~G4VUserTrackInformation();
virtual void Print() const = 0;
virtual void Print() const {};
const G4String& GetType() const;
// get Type of this UserTrackInfo
protected:
G4String fType;
G4String* pType;
};
inline
const G4String& G4VUserTrackInformation::GetType() const
{
return fType;
}
#endif