Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4ExceptionHandler.hh,v 1.1 2002/08/19 18:33:29 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
+13 -4
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Run.hh,v 1.4 2001/07/11 10:08:32 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4Run.hh,v 1.7 2003/04/23 17:54:17 asaim Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef G4Run_h
@@ -53,9 +53,16 @@ class G4Run
protected:
G4int runID;
G4int numberOfEvent;
G4int numberOfEventToBeProcessed;
G4HCtable* HCtable;
G4DCtable* DCtable;
public: // with description
virtual void RecordEvent(const G4Event*)
{ numberOfEvent++; }
// Method to be overwritten by the user for recording events in this run.
// In such a case, it is the user's responsibility to increment numberOfEvent.
public: // with description
inline G4int GetRunID() const
{ return runID; }
@@ -64,6 +71,8 @@ class G4Run
{ return numberOfEvent; }
// Returns number of events processed in this run. The number is
// incremented at the end of each event processing.
inline G4int GetNumberOfEventToBeProcessed() const
{ return numberOfEventToBeProcessed; }
inline const G4HCtable* GetHCtable() const
{ return HCtable; }
// List of names of hits collection
@@ -73,8 +82,8 @@ class G4Run
public:
inline void SetRunID(G4int id)
{ runID = id; }
inline virtual void RecordEvent(G4Event*)
{ numberOfEvent++; }
inline void SetNumberOfEventToBeProcessed(G4int n_ev)
{ numberOfEventToBeProcessed = n_ev; }
inline void SetHCtable(G4HCtable* HCtbl)
{ HCtable = HCtbl; }
inline void SetDCtable(G4DCtable* DCtbl)
+24 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4RunManager.hh,v 1.26 2002/11/27 17:55:07 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4RunManager.hh,v 1.32 2003/04/23 17:54:27 asaim Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -76,6 +76,7 @@ class G4UserTrackingAction;
class G4UserSteppingAction;
class G4VPhysicalVolume;
class G4Region;
class G4Timer;
class G4RunMessenger;
class G4DCtable;
@@ -177,6 +178,9 @@ class G4RunManager
// object is deleted in this class. If the user uses ODBMS and wants to store the
// G4Run class object, he/she must override this method.
virtual void BuildPhysicsTables();
// This method is invoked from RunInitialization() to create physics tables.
virtual G4Event* GenerateEvent(G4int i_event);
virtual void AnalyzeEvent(G4Event* anEvent);
// These two protected methods are invoked from DoEventLoop() method at the begining
@@ -188,6 +192,20 @@ class G4RunManager
// AnalyzeEvent() stores an event to a data base if a concrete G4VPersistentManager
// class is defined.
public: // with description
void UpdateRegion();
// Update region list.
// This method is mandatory before invoking following two dump methods.
// At RunInitialization(), this method is automatically invoked, and thus
// the user needs not invoke.
void DumpRegion(G4String rname) const;
// Dump information of a region.
void DumpRegion(G4Region* region=0) const;
// Dump information of a region.
// If the pointer is NULL, all regions are shown.
protected:
void StackPreviousEvent(G4Event* anEvent);
@@ -225,11 +243,15 @@ class G4RunManager
G4Event* currentEvent;
G4std::vector<G4Event*>* previousEvents;
G4int n_perviousEventsToBeStored;
G4int numberOfEventToBeProcessed;
G4bool storeRandomNumberStatus;
G4String randomNumberStatusDir;
G4String versionString;
G4VPhysicalVolume* currentWorld;
G4Region* defaultRegion;
public:
virtual void rndmSaveThisRun();
virtual void rndmSaveThisEvent();
+6 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4RunMessenger.hh,v 1.9 2002/08/08 17:29:26 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4RunMessenger.hh,v 1.11 2003/03/11 05:00:47 asaim Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// GEANT 4 class header file
@@ -35,6 +35,8 @@
// Commands :
// BeamOn * Start a Run.
// Verbose * Set the Verbose level of G4RunManager.
// dumpRegion * Dump information of a region.
// dumpCouples * Dump information of material-cuts-couples.
// optimizeGeometry * Set the optimization flag of closing geometry.
// breakAtBeginOfEvent * Set a break point at the begining of every event.
// breakAtEndOfEvent * Set a break point at the end of every event.
@@ -79,6 +81,8 @@ class G4RunMessenger: public G4UImessenger
G4UIdirectory * runDirectory;
G4UIcommand * beamOnCmd;
G4UIcmdWithAnInteger * verboseCmd;
G4UIcmdWithAString * dumpRegCmd;
G4UIcmdWithoutParameter * dumpCoupleCmd;
G4UIcmdWithABool * optCmd;
G4UIcmdWithABool * brkBoECmd;
G4UIcmdWithABool * brkEoECmd;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4UserPhysicsListMessenger.hh,v 1.10 2001/08/03 06:02:55 kurasige Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4UserPhysicsListMessenger.hh,v 1.15 2003/04/14 20:07:25 asaim Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
//---------------------------------------------------------------
@@ -39,14 +39,12 @@
// Commands :
// SetCuts * Set default cut value
// dumpList * Dump List of particles in G4VUserPhysicsList.
// dumpCutValue * Dump cut value information
// verbose * Set the Verbose level of G4VUserPhysicsList.
// addProcessManager * add process manager
// buildPhysicsTable * build physics table
// storePhysicsTable * store physics table into files
// retreivePhysicsTable * retreive physics table from files
// setStoredInAscii * Switch on/off ascii mode in store/retreive Physics Table
// applyCuts * Set flag for ApplyCuts
// ------------------------------------------------------------
// History
// first version 09 Jan. 1998 by H.Kurashige
@@ -68,6 +66,7 @@ class G4UIcmdWithoutParameter;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithAString;
class G4UIcommand;
#include "G4UImessenger.hh"
#include "globals.hh"
@@ -91,16 +90,18 @@ public: // with description
private: //commands
G4UIdirectory * theDirectory;
G4UIcmdWithADoubleAndUnit * setPCutCmd;
G4UIcmdWithADoubleAndUnit * setCutCmd;
G4UIcommand * setCutRCmd;
G4UIcmdWithAnInteger * verboseCmd;
G4UIcmdWithoutParameter * dumpListCmd;
G4UIcmdWithAString * dumpCutValuesCmd;
G4UIcmdWithAString * addProcManCmd;
G4UIcmdWithAString * buildPTCmd;
G4UIcmdWithAString * storeCmd;
G4UIcmdWithAString * retrieveCmd;
G4UIcmdWithAnInteger * asciiCmd;
G4UIcommand * applyCutsCmd;
G4UIcommand * applyCutsCmd;
G4UIcmdWithAString * dumpCutValuesCmd;
};
#endif
+7 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4UserRunAction.hh,v 1.5 2001/07/11 10:08:32 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4UserRunAction.hh,v 1.7 2003/04/04 16:45:30 asaim Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef G4UserRunAction_h
@@ -38,6 +38,10 @@ class G4Run;
// any of the contents of G4Run object.
// virtual void BeginOfRunAction(const G4Run* aRun);
// virtual void EndOfRunAction(const G4Run* aRun);
// The user can override the following method to instanciate his/her own
// concrete Run class. G4Run has a virtual method RecordEvent, so that
// the user can store any information useful to him/her with event statistics.
// virtual G4Run* GenerateRun();
// The user's concrete class derived from this class must be set to
// G4RunManager via G4RunManager::SetUserAction() method.
//
@@ -49,6 +53,7 @@ class G4UserRunAction
virtual ~G4UserRunAction();
public:
virtual G4Run* GenerateRun();
virtual void BeginOfRunAction(const G4Run* aRun);
virtual void EndOfRunAction(const G4Run* aRun);
};
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4VModularPhysicsList.hh,v 1.4 2002/05/29 12:11:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4VPersistencyManager.hh,v 1.4 2001/07/11 10:08:32 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef G4VPersistencyManager_h
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4VPhysicsConstructor.hh,v 1.3 2001/11/06 06:08:04 kurasige Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VUserDetectorConstruction.hh,v 1.4 2001/07/11 10:08:33 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef G4VUserDetectorConstruction_h
+81 -80
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VUserPhysicsList.hh,v 1.14 2001/10/16 08:35:50 kurasige Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4VUserPhysicsList.hh,v 1.23 2003/04/11 11:36:21 asaim Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
@@ -65,6 +65,18 @@
// added RetrieveCutValues and related
// added Set/ResetStoredInAscii() to switch on ascii mode
// for Retrieve/StorePhysicsTable
// modified for CUTS per REGION 10, Oct 2002 by H.Kurashige
// removed following methods
// void ReCalcCutValue()
// void SetCutValueForOthers()
// void SetCutValueForOtherThan()
// void ReCalcCutValueForOthers()
// virtual G4bool StoreMaterialInfo()
// virtual G4bool StoreCutValues()
// virtual G4bool RetrieveCutValues()
// virtual G4bool CheckForRetrievePhysicsTable()
// virtual G4bool CheckMaterialInfo()
// added void BuildPhysicsTable()
// ------------------------------------------------------------
#ifndef G4VUserPhysicsList_h
#define G4VUserPhysicsList_h 1
@@ -73,6 +85,7 @@
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProductionCutsTable.hh"
class G4UserPhysicsListMessenger;
class G4VProcess;
@@ -121,13 +134,15 @@ class G4VUserPhysicsList
/////////////////////////////////////////////////////////////////////
public: // with description
// Invoke BuildPhysicsTable for all processes for specified particle
// Invoke BuildPhysicsTable for all processes for all particles
// In case of "Retrieve" flag is ON, PhysicsTable will be
// retrieved from files
void BuildPhysicsTable();
// do BuildPhysicsTable for specified particle type
void BuildPhysicsTable(G4ParticleDefinition* );
// Store PhysicsTable together with both material and cut value
// Store PhysicsTable together with both material and cut value
// information in files under the specified directory.
// (return true if files are sucessfully created)
G4bool StorePhysicsTable(const G4String& directory = ".");
@@ -157,10 +172,31 @@ class G4VUserPhysicsList
void DumpList() const;
public: // with description
// Print out information of cut values
void DumpCutValuesTable() const;
void DumpCutValues(const G4String &particle_name = "ALL") const;
void DumpCutValues(G4ParticleDefinition* ) const;
// Request to print out information of cut values
// Printing will be performed when all tables are made
void DumpCutValuesTable(G4int nParticles=3);
// The following method actually trigger the print-out requested
// by the above method. This method must be invoked by RunManager
// at the proper moment.
void DumpCutValuesTableIfRequested();
void DumpCutValues(const G4String &particle_name = "ALL")
{
G4cerr << "WARNING !" << G4endl;
G4cerr << " DumpCutValues() became obsolete." << G4endl;
G4cerr << " Please use DumpCutValuesTable() instead." << G4endl;
G4cerr << " This dummy method implementation will be removed soon." << G4endl;
DumpCutValuesTable();
}
void DumpCutValues(G4ParticleDefinition* )
{
G4cerr << "WARNING !" << G4endl;
G4cerr << " DumpCutValues() became obsolete." << G4endl;
G4cerr << " Please use DumpCutValuesTable() instead." << G4endl;
G4cerr << " This dummy method implementation will be removed soon." << G4endl;
DumpCutValuesTable();
}
public: // with description
void SetVerboseLevel(G4int value);
@@ -171,52 +207,32 @@ class G4VUserPhysicsList
// 2: More
///////////////////////////////////////////////////////////////////////////
protected: // with description
// "SetCutsWithDefault" method sets a cut value with the default
// cut values for all particle types in the particle table
public: // with description
// "SetCutsWithDefault" method sets the default cut value
// for all particles for the default region.
void SetCutsWithDefault();
// Following are utility methods for SetCuts/reCalcCuts
// Following are utility methods for SetCuts
// Reset cut values in energy for all particle types
// By calling this methods, the run manager will invoke
// SetCuts() just before event loop
void ResetCuts();
// SetCutValue sets a cut value for a particle type for the default region
void SetCutValue(G4double aCut, const G4String& pname);
// SetCutValue sets a cut value for a particle type
void SetCutValue(G4double aCut, const G4String& name);
void ReCalcCutValue(const G4String& name);
// SetCutValue sets a cut value for a particle type for a region
void SetCutValue(G4double aCut, const G4String& pname, const G4String& rname);
// "setCutsForOthers" method sets a cut value to all particle types
// which have not be called SetCuts() methods yet.
// (i.e. particles which have no definit cut values)
void SetCutValueForOthers(G4double cutValue);
// "setCutsForOtherThan" sets a cut value to all particle types
// other than particle types specified in arguments
void SetCutValueForOtherThan(G4double cutValue,
G4ParticleDefinition* first,
G4ParticleDefinition* second = 0,
G4ParticleDefinition* third = 0,
G4ParticleDefinition* fourth = 0,
G4ParticleDefinition* fifth = 0,
G4ParticleDefinition* sixth = 0,
G4ParticleDefinition* seventh = 0,
G4ParticleDefinition* eighth = 0,
G4ParticleDefinition* nineth = 0,
G4ParticleDefinition* tenth = 0 );
// "reCalcCutsForOthers" method re-calculates a cut value
// to all particle types which have not be called SetCuts() methods yet.
void ReCalcCutValueForOthers();
// Invoke SetCuts for specified particle
// Invoke SetCuts for specified particle for a region
// If the pointer to the region is NULL, the default region is used
// In case of "Retrieve" flag is ON,
// Cut values will be retrieved from files
void SetParticleCuts( G4double cut, G4ParticleDefinition* );
void SetParticleCuts(G4double cut,G4ParticleDefinition* particle,G4Region* region=0);
///////////////////////////////////////////////////////////////////////////////
// Invoke SetCuts for all particles in a region
void SetCutsForRegion(G4double aCut, const G4String& rname);
// Following are utility methods are obsolete
void ResetCuts();
///////////////////////////////////////////////////////////////////
public:
// Get/SetApplyCuts gets/sets the flag for ApplyCuts
void SetApplyCuts(G4bool value, const G4String& name);
@@ -227,6 +243,7 @@ class G4VUserPhysicsList
// do BuildPhysicsTable for make the integral schema
void BuildIntegralPhysicsTable(G4VProcess* ,G4ParticleDefinition* );
protected:
// Retrieve PhysicsTable from files for proccess belongng the particle.
// Normal BuildPhysics procedure of processes will be invoked,
@@ -235,24 +252,6 @@ class G4VUserPhysicsList
const G4String& directory,
G4bool ascii = false);
// Store material information in files under the specified directory.
virtual G4bool StoreMaterialInfo(const G4String& directory,
G4bool ascii = false);
// Store cut values information in files under the specified directory.
virtual G4bool StoreCutValues(const G4String& directory,
G4bool ascii = false);
// Retrieve cut values information in files under the specified directory.
virtual G4bool RetrieveCutValues(const G4String& directory,
G4bool ascii = false);
// check stored material and cut values
virtual G4bool CheckForRetrievePhysicsTable(const G4String& directory,
G4bool ascii = false);
// check stored material is consistent with the current detector setup.
virtual G4bool CheckMaterialInfo(const G4String& directory,
G4bool ascii = false);
/////////////////////////////////////////////////////////////////
protected:
// adds new ProcessManager to all particles in the Particle Table
@@ -281,13 +280,16 @@ class G4VUserPhysicsList
G4UserPhysicsListMessenger* theMessenger;
protected:
G4int verboseLevel;
G4int verboseLevel;
protected:
// this is the default cut value for all particles
G4double defaultCutValue;
protected:
// pointer to ProductionCutsTable
G4ProductionCutsTable* fCutsTable;
// flag to determine physics table will be build from file or not
G4bool fRetrievePhysicsTable;
G4bool fStoredInAscii;
@@ -298,19 +300,24 @@ class G4VUserPhysicsList
// directory name for physics table files
G4String directoryPhysicsTable;
// number of materials in G4MaterialTable
// (this member is used by store/restore physics table)
G4int numberOfMaterial;
// flag for displaying the range cuts & energy thresholds
G4int fDisplayThreshold;
private:
enum { FixedStringLengthForStore = 32 };
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
// Following method is for backward compatibility and removed soon
////////////////////////////////////////////////////////////////////////////
protected:
enum { NumberOfParticlesForStoreCuts = 9};
static const G4String particleForStoreCuts[NumberOfParticlesForStoreCuts];
G4bool isBuildPhysicsTable[NumberOfParticlesForStoreCuts];
G4int isParticleForStoreCuts(const G4ParticleDefinition*) const;
void SetCutValueForOthers(G4double cutValue)
{
G4cerr << "WARNING !" << G4endl;
G4cerr << " SetCutValueForOthers became obsolete." << G4endl;
G4cerr << " It is harmless to remove this invokation without any side effects." << G4endl;
G4cerr << " This dummy method implementation will be removed soon." << G4endl;
}
};
@@ -393,9 +400,3 @@ inline
}
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: G4VUserPrimaryGeneratorAction.hh,v 1.4 2001/07/11 10:08:33 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef G4VUserPrimaryGeneratorAction_h