Import Geant4 8.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:07:44 +02:00
parent fe73f43734
commit 75c7fd177d
764 changed files with 45230 additions and 95238 deletions
+9 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.106 2006/11/17 17:52:57 flei Exp $
$Id: History,v 1.108 2007/03/08 23:56:12 asaim Exp $
-------------------------------------------------------------------
=========================================================
@@ -16,6 +16,14 @@ committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
March 8, 2007, M.Asai (event-V08-02-01)
- Consolidation of previous tag with a new flag in G4EventManager.
March 5, 2007, M.Asai (event-V08-02-00)
- Prevent from unnecessary creation of G4String objects in G4Event, which were
default for random number status.
November 17, 2006, F.Lei (event-V08-01-03)
- Improved implementation of flat_sampling (biasing) for multiple sources in GPS.
+10 -10
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Event.hh,v 1.13 2006/11/03 03:11:13 asaim Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4Event.hh,v 1.17 2007/03/08 23:56:12 asaim Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
#ifndef G4Event_h
@@ -95,11 +95,11 @@ class G4Event
G4VUserEventInformation* userInfo;
// Initial random number engine status before primary particle generation
G4String randomNumberStatus;
G4String* randomNumberStatus;
G4bool validRandomNumberStatus;
// Initial random number engine status before event processing
G4String randomNumberStatusForProcessing;
G4String* randomNumberStatusForProcessing;
G4bool validRandomNumberStatusForProcessing;
// Flag to keep the event until the end of run
@@ -116,14 +116,14 @@ class G4Event
{ trajectoryContainer = value; }
inline void SetEventAborted()
{ eventAborted = true; }
inline void SetRandomNumberStatus(G4String st)
inline void SetRandomNumberStatus(G4String& st)
{
randomNumberStatus = st;
randomNumberStatus = new G4String(st);
validRandomNumberStatus = true;
}
inline void SetRandomNumberStatusForProcessing(G4String st)
inline void SetRandomNumberStatusForProcessing(G4String& st)
{
randomNumberStatusForProcessing = st;
randomNumberStatusForProcessing = new G4String(st);
validRandomNumberStatusForProcessing = true;
}
inline void KeepTheEvent(G4bool vl=true)
@@ -186,13 +186,13 @@ class G4Event
{
if(!validRandomNumberStatus)
{ G4Exception("Random number status is not available for this event."); }
return randomNumberStatus;
return *randomNumberStatus;
}
inline const G4String& GetRandomNumberStatusForProcessing() const
{
if(!validRandomNumberStatusForProcessing)
{ G4Exception("Random number status is not available for this event."); }
return randomNumberStatusForProcessing;
return *randomNumberStatusForProcessing;
}
};
+7 -3
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4EventManager.hh,v 1.18 2006/11/03 03:11:13 asaim Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4EventManager.hh,v 1.22 2007/03/08 23:56:12 asaim Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
//
@@ -137,6 +137,9 @@ class G4EventManager
G4UserTrackingAction* userTrackingAction;
G4UserSteppingAction* userSteppingAction;
G4int storetRandomNumberStatusToG4Event;
G4String randomNumberStatusToG4Event;
public: // with description
inline const G4Event* GetConstCurrentEvent()
{ return currentEvent; }
@@ -206,7 +209,8 @@ class G4EventManager
{ return transformer; }
inline void SetPrimaryTransformer(G4PrimaryTransformer* tf)
{ transformer = tf; }
inline void StoreRandomNumberStatusToG4Event(G4int vl)
{ storetRandomNumberStatusToG4Event = vl; }
};
+10 -4
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Event.cc,v 1.11 2006/11/03 03:11:13 asaim Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4Event.cc,v 1.14 2007/03/07 02:44:16 asaim Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
// G4Event
@@ -44,14 +44,18 @@ G4Event::G4Event()
:eventID(0),
thePrimaryVertex(0),numberOfPrimaryVertex(0),
HC(0),DC(0),trajectoryContainer(0),eventAborted(false),userInfo(0),
validRandomNumberStatus(false),keepTheEvent(false)
randomNumberStatus(0),validRandomNumberStatus(false),
randomNumberStatusForProcessing(0),validRandomNumberStatusForProcessing(false),
keepTheEvent(false)
{;}
G4Event::G4Event(G4int evID)
:eventID(evID),
thePrimaryVertex(0),numberOfPrimaryVertex(0),
HC(0),DC(0),trajectoryContainer(0),eventAborted(false),userInfo(0),
validRandomNumberStatus(false),keepTheEvent(false)
randomNumberStatus(0),validRandomNumberStatus(false),
randomNumberStatusForProcessing(0),validRandomNumberStatusForProcessing(false),
keepTheEvent(false)
{;}
G4Event::~G4Event()
@@ -65,6 +69,8 @@ G4Event::~G4Event()
delete trajectoryContainer;
}
if(userInfo) delete userInfo;
if(validRandomNumberStatus) delete randomNumberStatus;
if(validRandomNumberStatusForProcessing) delete randomNumberStatusForProcessing;
}
G4int G4Event::operator==(const G4Event &right) const
+21 -8
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4EventManager.cc,v 1.26 2006/11/03 03:11:13 asaim Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4EventManager.cc,v 1.30 2007/03/08 23:56:12 asaim Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
//
//
@@ -49,7 +49,8 @@ G4EventManager* G4EventManager::GetEventManager()
G4EventManager::G4EventManager()
:currentEvent(0),trajectoryContainer(0),
verboseLevel(0),tracking(false),abortRequested(false)
verboseLevel(0),tracking(false),abortRequested(false),
storetRandomNumberStatusToG4Event(false)
{
if(fpEventManager)
{
@@ -108,9 +109,13 @@ void G4EventManager::DoProcessing(G4Event* anEvent)
}
currentEvent = anEvent;
stateManager->SetNewState(G4State_EventProc);
std::ostringstream oss;
CLHEP::HepRandom::saveFullState(oss);
currentEvent->SetRandomNumberStatusForProcessing(oss.str());
if(storetRandomNumberStatusToG4Event>1)
{
std::ostringstream oss;
CLHEP::HepRandom::saveFullState(oss);
randomNumberStatusToG4Event = oss.str();
currentEvent->SetRandomNumberStatusForProcessing(randomNumberStatusToG4Event);
}
// Reseting Navigator has been moved to G4Eventmanager, so that resetting
// is now done for every event.
@@ -334,15 +339,19 @@ void G4EventManager::ProcessOneEvent(G4Event* anEvent)
#include "G4HepMCInterface.hh"
void G4EventManager::ProcessOneEvent(const HepMC::GenEvent* hepmcevt,G4Event* anEvent)
{
static G4String randStat;
trackIDCounter = 0;
G4bool tempEvent = false;
if(!anEvent)
{
anEvent = new G4Event();
tempEvent = true;
}
if(storetRandomNumberStatusToG4Event==1 || storetRandomNumberStatusToG4Event==3)
{
std::ostringstream oss;
CLHEP::HepRandom::saveFullState(oss);
anEvent->SetRandomNumberStatus(oss.str());
anEvent->SetRandomNumberStatus(randStat=oss.str());
}
G4HepMCInterface::HepMC2G4(hepmcevt,anEvent);
DoProcessing(anEvent);
@@ -353,15 +362,19 @@ void G4EventManager::ProcessOneEvent(const HepMC::GenEvent* hepmcevt,G4Event* an
void G4EventManager::ProcessOneEvent(G4TrackVector* trackVector,G4Event* anEvent)
{
static G4String randStat;
trackIDCounter = 0;
G4bool tempEvent = false;
if(!anEvent)
{
anEvent = new G4Event();
tempEvent = true;
}
if(storetRandomNumberStatusToG4Event==1 || storetRandomNumberStatusToG4Event==3)
{
std::ostringstream oss;
CLHEP::HepRandom::saveFullState(oss);
anEvent->SetRandomNumberStatus(oss.str());
anEvent->SetRandomNumberStatus(randStat=oss.str());
}
StackTracks(trackVector,false);
DoProcessing(anEvent);