Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4AdjointPosOnPhysVolGenerator.hh,v 1.2 2009-11-18 17:57:59 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/////////////////////////////////////////////////////////////////////////////////
// Class Name: G4AdjointPosOnPhysVolGenerator
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4AdjointPrimaryGenerator.hh,v 1.2 2009-11-18 17:57:59 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/////////////////////////////////////////////////////////////////////////////////
// Module: G4AdjointPrimaryGenerator
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4AdjointStackingAction.hh,v 1.2 2009-11-18 17:57:59 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/////////////////////////////////////////////////////////////////////////////////
// Class Name: G4AdjointStackingAction
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4CellScorer.hh,v 1.2 2006-06-29 18:08:19 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ----------------------------------------------------------------------
// Class G4CellScorer
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4CellScorerStore.hh,v 1.3 2006-06-29 18:08:21 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ----------------------------------------------------------------------
// Class G4CellScorerStore
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ClassificationOfNewTrack.hh,v 1.6 2006-06-29 18:08:23 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4EvManMessenger.hh,v 1.6 2006-11-03 03:11:13 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4EvManMessenger_h
+6 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4Event.hh,v 1.19 2010-10-27 07:21:13 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4Event_h
@@ -70,6 +69,11 @@ class G4Event
// For hits and digits, Draw() methods of the concrete classes must be
// implemented. Otherwise nothing will be drawn.
private:
// These copy constructor and = operator must not be used.
G4Event(const G4Event &) {;}
G4Event& operator=(const G4Event &) { return *this; }
private:
// event ID
G4int eventID;
+2 -8
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4EventManager.hh,v 1.23 2010-06-12 04:07:45 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
@@ -129,12 +128,7 @@ class G4EventManager
// an event is not processing.
public: // with description
inline void AbortCurrentEvent()
{
abortRequested = true;
trackContainer->clear();
if(tracking) trackManager->EventAborted();
}
void AbortCurrentEvent();
// This method aborts the processing of the current event. All stacked
// tracks are deleted. The contents of G4Event object is not completed,
// but trajectories, hits, and/or digits which are created before the
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4HEPEvtInterface.hh,v 1.8 2006-06-29 18:08:36 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4HEPEvtInterface_h
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4HEPEvtParticle.hh,v 1.11 2010-10-27 07:21:13 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ParticleGun.hh,v 1.11 2007-11-07 17:13:19 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4ParticleGun_h
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ParticleGunMessenger.hh,v 1.10 2007-10-02 00:45:17 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4PrimaryTransformer.hh,v 1.12 2006-06-29 18:08:46 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4PromaryTransformer_h
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4RayShooter.hh,v 1.2 2006-06-29 18:08:49 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// class description:
+20 -19
View File
@@ -24,11 +24,10 @@
// ********************************************************************
//
//
// $Id: G4SmartTrackStack.hh,v 1.3 2009-09-16 23:10:46 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Last Modification : 09/Dec/96 M.Asai
// Last Modification : 04/Oct/12 S. Kamperis
//
@@ -41,11 +40,10 @@
// class description:
//
// This is a stack class used by G4StackManager. This class object
// stores G4StackedTrack class objects in the form of bi-directional
// linked list.
// This is a 'smart' stack class used by G4StackManager. This class object
// stores G4StackedTrack class objects in various dedicated stacks
class G4SmartTrackStack
class G4SmartTrackStack
{
public:
G4SmartTrackStack();
@@ -58,36 +56,39 @@ class G4SmartTrackStack
G4int operator!=(const G4SmartTrackStack &right) const;
public:
void PushToStack(G4StackedTrack * aStackedTrack);
G4StackedTrack * PopFromStack();
void PushToStack(const G4StackedTrack& aStackedTrack);
G4StackedTrack PopFromStack();
void clear();
void TransferTo(G4TrackStack * aStack);
void clearAndDestroy();
void TransferTo(G4TrackStack* aStack);
G4double getEnergyOfStack(G4TrackStack* aTrackStack);
void dumpStatistics();
private:
G4int fTurn;
G4int nTurn; // should be 5
G4double energies[5];
G4TrackStack* stacks[5];
// = 0 : all primaries and secondaries except followings
// = 1 : secondary neutrons
// = 2 : secondary electrons
// = 3 : secondary gammas
// = 4 : secondary positrons
G4int nStick;
G4int safetyValve1;
G4int safetyValve2;
G4int maxNTracks;
G4int nTracks;
public:
inline G4int GetNTrack() const
{ return n_stackedTrack(); }
inline G4int GetMaxNTrack() const
{ return maxNTracks; }
G4int GetNTrack() const { return nTracks; }
G4int GetMaxNTrack() const { return maxNTracks; }
private:
inline G4int n_stackedTrack() const
{
return stacks[0]->GetNTrack()+stacks[1]->GetNTrack()
+stacks[2]->GetNTrack()+stacks[3]->GetNTrack()+stacks[4]->GetNTrack();
return stacks[0]->GetNTrack() +
stacks[1]->GetNTrack() +
stacks[2]->GetNTrack() +
stacks[3]->GetNTrack() +
stacks[4]->GetNTrack();
}
};
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4StackChecker.hh,v 1.2 2006-06-29 18:09:05 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4StackChecker_h
+19 -58
View File
@@ -24,10 +24,10 @@
// ********************************************************************
//
//
// $Id: G4StackManager.hh,v 1.13 2009-08-15 15:45:50 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
// Last Modification : 04/Oct/11 P. Mato - making use of G4TrackStack with value semantics
///
#ifndef G4StackManager_h
@@ -42,23 +42,23 @@
#include "G4TrackStatus.hh"
#include "globals.hh"
#include "evmandefs.hh"
class G4StackingMessenger;
class G4VTrajectory;
// class description:
//
// This is the manager class of handling stacks of G4Track objects.
// This is the manager class of handling stacks of G4Track objects.
// This class must be a singleton and be constructed by G4EventManager.
// Almost all methods must be invoked exclusively by G4EventManager.
// Especially, some Clear() methods MUST NOT be invoked by the user.
// Event abortion is handled by G4EventManager.
//
// This G4StackingManager has three stacks, the urgent stack, the
// This G4StackingManager has three stacks, the urgent stack, the
// waiting stack, and the postpone to next event stack. The meanings
// of each stack is descrived in the Geant4 user's manual.
//
class G4StackManager
{
public:
@@ -66,8 +66,7 @@ class G4StackManager
~G4StackManager();
private:
const G4StackManager & operator=
(const G4StackManager &right);
const G4StackManager& operator=(const G4StackManager &right);
G4int operator==(const G4StackManager &right) const;
G4int operator!=(const G4StackManager &right) const;
@@ -122,57 +121,19 @@ class G4StackManager
G4int numberOfAdditionalWaitingStacks;
public:
inline void clear()
{
ClearUrgentStack();
ClearWaitingStack();
for(int i=1;i<=numberOfAdditionalWaitingStacks;i++) {ClearWaitingStack(i);}
}
inline void ClearUrgentStack()
{ urgentStack->clear(); }
inline void ClearWaitingStack(int i=0)
{
if(i==0) {
waitingStack->clear();
} else {
if(i<=numberOfAdditionalWaitingStacks) additionalWaitingStacks[i-1]->clear();
}
}
inline void ClearPostponeStack()
{ postponeStack->clear(); }
inline G4int GetNTotalTrack() const
{ int n = urgentStack->GetNTrack() + waitingStack->GetNTrack() + postponeStack->GetNTrack();
for(int i=1;i<=numberOfAdditionalWaitingStacks;i++) {n += additionalWaitingStacks[i-1]->GetNTrack();}
return n;
}
inline G4int GetNUrgentTrack() const
{ return urgentStack->GetNTrack(); }
inline G4int GetNWaitingTrack(int i=0) const
{ if(i==0) { return waitingStack->GetNTrack(); }
else {
if(i<=numberOfAdditionalWaitingStacks) { return additionalWaitingStacks[i-1]->GetNTrack();}
}
return 0;
}
inline G4int GetNPostponedTrack() const
{ return postponeStack->GetNTrack(); }
inline void SetVerboseLevel( G4int const value )
{ verboseLevel = value; }
inline void SetUserStackingAction(G4UserStackingAction* value)
{
userStackingAction = value;
if(userStackingAction) userStackingAction->SetStackManager(this);
}
void clear();
void ClearUrgentStack();
void ClearWaitingStack(int i=0);
void ClearPostponeStack();
G4int GetNTotalTrack() const;
G4int GetNUrgentTrack() const;
G4int GetNWaitingTrack(int i=0) const;
G4int GetNPostponedTrack() const;
void SetVerboseLevel( G4int const value );
void SetUserStackingAction(G4UserStackingAction* value);
private:
inline G4ClassificationOfNewTrack
DefaultClassification(G4Track *aTrack)
{
G4ClassificationOfNewTrack classification = fUrgent;
if( aTrack->GetTrackStatus() == fPostponeToNextEvent )
{ classification = fPostpone; }
return classification;
}
G4ClassificationOfNewTrack DefaultClassification(G4Track *aTrack);
};
#endif
+17 -64
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4StackedTrack.hh,v 1.12 2010-10-27 07:21:13 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Last Modification : 02/Feb/96 M.Asai
@@ -35,75 +34,29 @@
#ifndef G4StackedTrack_h
#define G4StackedTrack_h 1
#include "G4Track.hh"
#include "globals.hh"
#include "G4Allocator.hh"
class G4VTrajectory;
class G4Track;
// class description:
//
// This class is exclusively used by G4StackManager and G4TrackStack
// classes for storing a G4Track object in the form of bi-directional
// linked list.
// This class is exclusively used by G4StackManager and G4TrackStack
// classes for storing a G4Track object.
class G4StackedTrack
class G4StackedTrack
{
public:
inline void *operator new(size_t);
inline void operator delete(void *aStackedTrack);
G4StackedTrack();
G4StackedTrack(G4Track * aTrack, G4VTrajectory * aTrajectory = 0);
~G4StackedTrack();
G4StackedTrack & operator=(const G4StackedTrack &right);
G4int operator==(const G4StackedTrack &right) const;
G4int operator!=(const G4StackedTrack &right) const;
private:
G4double priorityWeight;
G4Track * track;
G4VTrajectory * trajectory;
G4StackedTrack * previousStackedTrack;
G4StackedTrack * nextStackedTrack;
public:
inline G4double GetPriorityWeight() const
{ return priorityWeight; }
inline void SetPriorityWeight(const G4double value)
{ priorityWeight = value; }
inline G4Track * GetTrack() const
{ return track; }
inline G4VTrajectory * GetTrajectory() const
{ return trajectory; }
inline G4StackedTrack * GetPrevious() const
{ return previousStackedTrack; }
inline G4StackedTrack * GetNext() const
{ return nextStackedTrack; }
inline void SetPrevious(G4StackedTrack * value)
{ previousStackedTrack = value; }
inline void SetNext(G4StackedTrack * value)
{ nextStackedTrack = value; }
public:
G4StackedTrack() : track(0), trajectory(0) {}
G4StackedTrack(G4Track* aTrack, G4VTrajectory* aTraj = 0) : track(aTrack), trajectory(aTraj) {}
~G4StackedTrack() {}
private:
G4Track* track;
G4VTrajectory* trajectory;
public:
G4Track* GetTrack() const { return track; }
G4VTrajectory* GetTrajectory() const { return trajectory; }
};
#if defined G4EVENT_ALLOC_EXPORT
extern G4DLLEXPORT G4Allocator<G4StackedTrack> aStackedTrackAllocator;
#else
extern G4DLLIMPORT G4Allocator<G4StackedTrack> aStackedTrackAllocator;
#endif
inline void * G4StackedTrack::operator new(size_t)
{
void * aStackedTrack;
aStackedTrack = (void *) aStackedTrackAllocator.MallocSingle();
return aStackedTrack;
}
inline void G4StackedTrack::operator delete(void * aStackedTrack)
{
aStackedTrackAllocator.FreeSingle((G4StackedTrack *) aStackedTrack);
}
#endif
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4StackingMessenger.hh,v 1.6 2009-09-16 23:10:46 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4StackingMessenger_h
+37 -36
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4TrackStack.hh,v 1.8 2009-09-10 21:31:41 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Last Modification : 09/Dec/96 M.Asai
@@ -36,49 +35,51 @@
#define G4TrackStack_h 1
#include "G4StackedTrack.hh"
#include "globals.hh"
#include "G4Types.hh"
#include <vector>
class G4SmartTrackStack;
// class description:
//
// This is a stack class used by G4StackManager. This class object
// This is a stack class used by G4StackManager. This class object
// stores G4StackedTrack class objects in the form of bi-directional
// linked list.
class G4TrackStack
class G4TrackStack : public std::vector<G4StackedTrack>
{
public:
G4TrackStack();
~G4TrackStack();
private:
const G4TrackStack & operator=
(const G4TrackStack &right);
G4int operator==(const G4TrackStack &right) const;
G4int operator!=(const G4TrackStack &right) const;
public:
void PushToStack(G4StackedTrack * aStackedTrack);
G4StackedTrack * PopFromStack();
void GrabFromStack(G4StackedTrack * aStackedTrack);
void clear();
void TransferTo(G4TrackStack * aStack);
void TransferTo(G4SmartTrackStack * aStack);
private:
G4int n_stackedTrack;
G4StackedTrack * firstStackedTrack;
G4StackedTrack * lastStackedTrack;
G4int maxNTracks;
public:
inline G4int GetNTrack() const
{ return n_stackedTrack; }
inline G4int GetMaxNTrack() const
{ return maxNTracks; }
public:
G4TrackStack() : safetyValve1(0), safetyValve2(0), nstick(0) {}
G4TrackStack(size_t n) : safetyValve1(4*n/5), safetyValve2(4*n/5-100), nstick(100) { reserve(n);}
~G4TrackStack();
private:
const G4TrackStack & operator=(const G4TrackStack &right);
G4int operator==(const G4TrackStack &right) const;
G4int operator!=(const G4TrackStack &right) const;
public:
void PushToStack(const G4StackedTrack& aStackedTrack) { push_back(aStackedTrack); }
G4StackedTrack PopFromStack() { G4StackedTrack st = back(); pop_back(); return st; }
void TransferTo(G4TrackStack* aStack);
void TransferTo(G4SmartTrackStack* aStack);
void clearAndDestroy();
private:
G4int safetyValve1;
G4int safetyValve2;
G4int nstick;
public:
G4int GetNTrack() const { return size(); }
G4int GetMaxNTrack() const { return max_size(); }
inline G4int GetSafetyValve1() const { return safetyValve1; }
inline G4int GetSafetyValve2() const { return safetyValve2; }
inline G4int GetNStick() const { return nstick; }
G4double getTotalEnergy(void) const;
void SetSafetyValve2(int x) { safetyValve2 = x < 0 ? 0 : x; }
};
#endif
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4TrajectoryContainer.hh,v 1.17 2010-10-27 07:21:13 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// G4TrajectoryContainer
@@ -53,6 +52,11 @@ class G4TrajectoryContainer
G4TrajectoryContainer();
~G4TrajectoryContainer();
private:
G4TrajectoryContainer(const G4TrajectoryContainer&);
G4TrajectoryContainer& operator=(const G4TrajectoryContainer&);
public:
inline void *operator new(size_t);
inline void operator delete(void* anEvent);
+3 -4
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4UserEventAction.hh,v 1.6 2006-06-29 18:09:17 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
//
@@ -52,8 +51,8 @@ class G4Event;
class G4UserEventAction
{
public:
G4UserEventAction() {;}
virtual ~G4UserEventAction() {;}
G4UserEventAction();
virtual ~G4UserEventAction();
inline void SetEventManager(G4EventManager* value)
{ fpEventManager = value; }
public: // with description
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4UserStackingAction.hh,v 1.6 2006-06-29 18:09:19 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4UserStackingAction_h
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4VPrimaryGenerator.hh,v 1.8 2006-06-29 18:09:21 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4VPrimaryGenerator_h
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4VUserEventInformation.hh,v 1.2 2006-06-29 18:09:23 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
//---------------------------------------------------------------
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: eventgendefs.hh,v 1.4 2006-06-29 18:09:25 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef EventGenerator_DEBUG
#define EventGenerator_DEBUG
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: evmandefs.hh,v 1.7 2009-09-16 23:10:46 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
///#define G4EVENTMANAGER_DEBUG 1
+1 -2
View File
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: trajectoryControl.hh,v 1.4 2006-06-29 18:09:29 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
////#define G4_STORE_TRAJECTORY 1