Import Geant4 3.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:10:37 +02:00
parent 137e303ecc
commit 36c080dca6
3464 changed files with 119310 additions and 52696 deletions
+23 -7
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4Run.hh,v 1.3 1999/12/15 14:53:52 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Run.hh,v 1.3.4.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4Run_h
+23 -7
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4RunManager.hh,v 1.15 2001/02/08 06:07:22 asaim Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4RunManager.hh,v 1.15.2.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
//
+23 -7
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4RunMessenger.hh,v 1.6 2000/11/13 01:24:20 asaim Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4RunMessenger.hh,v 1.6.4.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
//
// GEANT 4 class header file
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4UserPhysicsListMessenger.hh,v 1.6 2000/11/08 10:01:59 kurasige Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4UserPhysicsListMessenger.hh,v 1.7.2.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
//
//---------------------------------------------------------------
@@ -29,13 +45,14 @@
// 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
// ------------------------------------------------------------
// History
// first version 09 Jan. 1998 by H.Kurashige
// second version 24 Jan. 1998 by H.Kurashige
// add buildPhysicsTable command 13 Apr. 1999 by H.Kurashige
// add store/retreivePhysicsTable 08 Nov. 2000 by H.Kurashige
// add setStoredInAscii command 12 Mar. 2001 by H.Kurashige
// ------------------------------------------------------------
#ifndef G4UserPhysicsListMessenger_h
@@ -80,6 +97,7 @@ public: // with description
G4UIcmdWithAString * buildPTCmd;
G4UIcmdWithAString * storeCmd;
G4UIcmdWithAString * retrieveCmd;
G4UIcmdWithAnInteger * asciiCmd;
};
#endif
+23 -7
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4UserRunAction.hh,v 1.4 1999/12/15 14:53:52 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4UserRunAction.hh,v 1.4.4.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4UserRunAction_h
+23 -7
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VModularPhysicsList.hh,v 1.1 2000/11/14 23:53:13 kurasige Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VModularPhysicsList.hh,v 1.1.4.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
//
// ------------------------------------------------------------
+23 -7
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VPersistencyManager.hh,v 1.3 1999/12/15 14:53:52 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VPersistencyManager.hh,v 1.3.4.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4VPersistencyManager_h
+23 -7
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VPhysicsConstructor.hh,v 1.1 2000/11/14 23:53:13 kurasige Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VPhysicsConstructor.hh,v 1.1.4.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
//
// ------------------------------------------------------------
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VUserDetectorConstruction.hh,v 1.3 1999/12/15 14:53:52 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VUserDetectorConstruction.hh,v 1.3.4.1 2001/06/28 19:15:19 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4VUserDetectorConstruction_h
+177 -111
View File
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VUserPhysicsList.hh,v 1.8 2000/11/14 23:53:13 kurasige Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VUserPhysicsList.hh,v 1.9.2.1 2001/06/28 19:15:20 gunter Exp $
// GEANT4 tag $Name: $
//
//
// ------------------------------------------------------------
@@ -44,6 +60,11 @@
// changed SetCuts method argument
// modified 08, Nov 2000 by H.Kurashige
// added Retrieve/StorePhysicsTable and related methods
// modified 08, Mar 2001 by H.Kurashige
// added binary mode for Retrieve/StorePhysicsTable
// added RetrieveCutValues and related
// added Set/ResetStoredInAscii() to switch on ascii mode
// for Retrieve/StorePhysicsTable
// ------------------------------------------------------------
#ifndef G4VUserPhysicsList_h
#define G4VUserPhysicsList_h 1
@@ -69,47 +90,53 @@ class G4VUserPhysicsList
protected: // with description
// These two methods of ConstructParticle() and ConstructProcess()
// will be invoked in the Construct() method.
// These two methods of ConstructParticle() and ConstructProcess()
// will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle() = 0;
// each particle type will be instantiated
virtual void ConstructParticle() = 0;
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess() = 0;
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess() = 0;
protected: // with description
// User must invoke this method in his ConstructProcess()
// implementation in order to insures particle transportation.
// !! Caution: this class must not be overriden !!
void AddTransportation();
void AddTransportation();
/////////////////////////////////////
/////////////////////////////////////////////////////////////////
public: // with description
// "SetCuts" method sets a cut value for all particle types
// in the particle table
virtual void SetCuts() = 0;
protected: // with description
// "SetCutsWithDefault" method sets a cut value with the default
// cut values for all particle types in the particle table
void SetCutsWithDefault();
public: // with description
// set/get the default cut value
// Calling SetDefaultCutValue causes re-calcuration of cut values
// and physics tables just before the next event loop
void SetDefaultCutValue(G4double newCutValue);
G4double GetDefaultCutValue() const;
/////////////////////////////////////////////////////////////////////
public: // with description
// Invoke BuildPhysicsTable for all processes for each particle
// Invoke BuildPhysicsTable for all processes for specified particle
// In case of "Retrieve" flag is ON, PhysicsTable will be
// retrieved from files
void BuildPhysicsTable(G4ParticleDefinition* );
// 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 = ".");
// Return true if "Retrieve" flag is ON.
// (i.e. PhysicsTable will be retrieved from files)
G4bool IsPhysicsTableRetrieved() const;
G4bool IsStoredInAscii() const;
// Get directory path for physics table files.
const G4String& GetPhysicsTableDirectory() const;
@@ -118,90 +145,114 @@ class G4VUserPhysicsList
// Null string (default) means directory is not changed
// from the current value
void SetPhysicsTableRetrieved(const G4String& directory = "");
void SetStoredInAscii();
// Reset "Retrieve" flag
void ResetPhysicsTableRetrieved();
protected: // with description
// do BuildPhysicsTable for make the integral schema
void BuildIntegralPhysicsTable(G4VProcess* ,G4ParticleDefinition* );
void ResetStoredInAscii();
protected: // with description
// Retrieve PhysicsTable from files for proccess belongng the particle.
// Normal BuildPhysics procedure of processes will be invoked,
// if it fails (in case of Process's RetrievePhysicsTable returns false)
virtual void RetrievePhysicsTable(G4ParticleDefinition* );
// Store material information in files under the specified directory.
virtual G4bool StoreMaterialInfo(const G4String& directory);
// Store cut values information in files under the specified directory.
virtual G4bool StoreCutValues(const G4String& directory);
// check stored material and cut values
virtual G4bool CheckForRetrievePhysicsTable(const G4String& directory);
// check stored material is consistent with the current detector setup.
virtual G4bool CheckMaterialInfo(const G4String& directory);
// check stored cuvalue is consistent with the current detector setup.
virtual G4bool CheckCutValues(const G4String& directory);
protected: // with description
// Following are utility methods for SetCuts/reCalcCuts
// 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
void SetCutValue(G4double aCut, const G4String& name);
void ReCalcCutValue(const G4String& name);
// "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 = NULL,
G4ParticleDefinition* third = NULL,
G4ParticleDefinition* fourth = NULL,
G4ParticleDefinition* fifth = NULL,
G4ParticleDefinition* sixth = NULL,
G4ParticleDefinition* seventh = NULL,
G4ParticleDefinition* eighth = NULL,
G4ParticleDefinition* nineth = NULL,
G4ParticleDefinition* tenth = NULL );
// "reCalcCutsForOthers" method re-calculates a cut value
// to all particle types which have not be called SetCuts() methods yet.
void ReCalcCutValueForOthers();
public: // with description
// set/get the default cut value
// Calling SetDefaultCutValue causes re-calcuration of cut values
// and physics tables just before the next event loop
void SetDefaultCutValue(G4double newCutValue);
G4double GetDefaultCutValue() const;
protected:
// this is the default cut value for all particles
G4double defaultCutValue;
/////////////////////////////////////
///////////////////////////////////////////////////////////////////////
public: // with description
// Print out the List of registered particles types
void DumpList() const;
public: // with description
// Print out information of cut values
// Print out information of cut values
void DumpCutValuesTable() const;
void DumpCutValues(const G4String &particle_name = "ALL") const;
void DumpCutValues(G4ParticleDefinition* ) const;
public: // with description
void SetVerboseLevel(G4int value);
G4int GetVerboseLevel() const;
// set/get controle flag for output message
// 0: Silent
// 1: Warning message
// 2: More
///////////////////////////////////////////////////////////////////////////
protected: // with description
// "SetCutsWithDefault" method sets a cut value with the default
// cut values for all particle types in the particle table
void SetCutsWithDefault();
// Following are utility methods for SetCuts/reCalcCuts
// 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
void SetCutValue(G4double aCut, const G4String& name);
void ReCalcCutValue(const G4String& name);
// "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 = NULL,
G4ParticleDefinition* third = NULL,
G4ParticleDefinition* fourth = NULL,
G4ParticleDefinition* fifth = NULL,
G4ParticleDefinition* sixth = NULL,
G4ParticleDefinition* seventh = NULL,
G4ParticleDefinition* eighth = NULL,
G4ParticleDefinition* nineth = NULL,
G4ParticleDefinition* tenth = NULL );
// "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
// In case of "Retrieve" flag is ON,
// Cut values will be retrieved from files
void SetParticleCuts( G4double cut, G4ParticleDefinition* );
///////////////////////////////////////////////////////////////////////////////
protected:
// 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,
// if it fails (in case of Process's RetrievePhysicsTable returns false)
virtual void RetrievePhysicsTable(G4ParticleDefinition* ,
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);
// check stored cut value is consistent with the current detector setup.
virtual G4bool CheckCutValues(const G4String& directory,
G4bool ascii = false);
/////////////////////////////////////////////////////////////////
protected:
// adds new ProcessManager to all particles in the Particle Table
// this routine is used in Construct()
void InitializeProcessManager();
@@ -216,6 +267,8 @@ class G4VUserPhysicsList
void AddProcessManager(G4ParticleDefinition* newParticle,
G4ProcessManager* newManager = NULL );
////////////////////////////////////////////////////////////////////////
protected:
// the particle table has the complete List of existing particle types
G4ParticleTable* theParticleTable;
@@ -225,29 +278,31 @@ class G4VUserPhysicsList
// pointer to G4UserPhysicsListMessenger
G4UserPhysicsListMessenger* theMessenger;
public: // with description
void SetVerboseLevel(G4int value);
G4int GetVerboseLevel() const;
// set/get controle flag for output message
// 0: Silent
// 1: Warning message
// 2: More
protected:
protected:
G4int verboseLevel;
protected:
protected:
// this is the default cut value for all particles
G4double defaultCutValue;
protected:
// flag to determine physics table will be build from file or not
G4bool fRetrievePhysicsTable;
G4bool fStoredInAscii;
G4bool fIsCheckedForRetrievePhysicsTable;
G4bool fIsRestoredCutValues;
// directory name for physics table files
G4String directoryPhysicsTable;
// number of materials in G4MaterialTable
// (this member is used by store/restore physics table)
G4int numberOfMaterial;
private:
enum { FixedStringLengthForStore = 32 };
};
@@ -295,6 +350,12 @@ inline
return fRetrievePhysicsTable;
}
inline
G4bool G4VUserPhysicsList::IsStoredInAscii() const
{
return fStoredInAscii;
}
inline
const G4String& G4VUserPhysicsList::GetPhysicsTableDirectory() const
{
@@ -302,21 +363,26 @@ inline
}
inline
void G4VUserPhysicsList::SetPhysicsTableRetrieved(const G4String& directory)
void G4VUserPhysicsList::SetStoredInAscii()
{
fRetrievePhysicsTable = true;
if(!directory.isNull()) {
directoryPhysicsTable = directory;
}
fIsCheckedForRetrievePhysicsTable=false;
fStoredInAscii = true;
}
inline
void G4VUserPhysicsList::ResetPhysicsTableRetrieved()
{
fRetrievePhysicsTable = false;
fIsRestoredCutValues = false;
fIsCheckedForRetrievePhysicsTable=false;
}
inline
void G4VUserPhysicsList::ResetStoredInAscii()
{
fStoredInAscii = false;
}
#endif
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VUserPrimaryGeneratorAction.hh,v 1.3 1999/12/15 14:53:52 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VUserPrimaryGeneratorAction.hh,v 1.3.4.1 2001/06/28 19:15:20 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4VUserPrimaryGeneratorAction_h