Import Geant4 3.0.0 source tree
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4Allocator.hh,v 1.3 1999/11/23 15:00:03 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// $Id: G4Allocator.hh,v 1.5 2000/11/20 20:16:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -117,7 +117,7 @@ template <class Type>
|
||||
void G4Allocator<Type>::AddNewPage()
|
||||
{
|
||||
G4AllocatorPage<Type> *aPage;
|
||||
register int unit_no;
|
||||
register G4int unit_no;
|
||||
|
||||
aPage = new G4AllocatorPage<Type>;
|
||||
aPage->fNext = fPages;
|
||||
@@ -126,8 +126,7 @@ void G4Allocator<Type>::AddNewPage()
|
||||
fPages = aPage;
|
||||
|
||||
for (unit_no = 0;
|
||||
unit_no < (G4AllocatorPageSize /
|
||||
sizeof(G4AllocatorUnit<Type>)-1);
|
||||
unit_no < (G4AllocatorPageSize / G4int(sizeof(G4AllocatorUnit<Type>))-1);
|
||||
++unit_no)
|
||||
{
|
||||
aPage->fUnits[unit_no].fNext = &aPage->fUnits[unit_no + 1];
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4AllocatorPage.hh,v 1.2 1999/11/16 17:40:22 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4AllocatorUnit.hh,v 1.2 1999/11/16 17:40:22 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
// 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: G4ApplicationState.hh,v 1.1 2000/07/22 10:45:34 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
|
||||
#ifndef G4APPLICATIONSTATE_H
|
||||
#define G4APPLICATIONSTATE_H 1
|
||||
|
||||
// Class Description:
|
||||
//
|
||||
// Specifies the state of the G4 application
|
||||
//
|
||||
// States:
|
||||
// PreInit
|
||||
// At the very begining of the Application. G4StateManager starts
|
||||
// with this state. G4Initializer changes this state to Init when
|
||||
// G4Initializer::Initialize() method starts. At the moment of
|
||||
// the state change of PreInit->Init, no material, geometrical,
|
||||
// particle or physics process has been initialized.
|
||||
// Init
|
||||
// During the G4Initializer::Initialize() method. G4Initializer
|
||||
// changes this state to Idle when all initialization procedures
|
||||
// are successfully Done.
|
||||
// Idle
|
||||
// Ready to start "BeamOn". G4RunManager changes this state to
|
||||
// GeomClosed when G4RunManager::BeamOn() method starts and
|
||||
// G4GeometryManager::CloseGeometry() is Done. At the end of
|
||||
// BeamOn() method, G4RunManager will reset the application state
|
||||
// to Idle after G4GeometryManager::OpenGeometry() is Done.
|
||||
// GeomClosed
|
||||
// G4 is in this state between G4GeometryManager::CloseGeometry()
|
||||
// and G4GeometryManager::OpenGeometry(), but no event is in
|
||||
// progress. At the begining of each event (construction of a
|
||||
// G4Event object and primary particle generation), G4RunManager
|
||||
// changes this state to EventProc and resets to GeomClosed state
|
||||
// when G4EventManager::ProcessOneEvent() is over.
|
||||
// EventProc
|
||||
// Processing an event.
|
||||
// Quit
|
||||
// G4 is in this state when the destructor of G4RunManager is invoked.
|
||||
// Abort
|
||||
// G4 is in this state when G4Exception is invoked.
|
||||
//
|
||||
//
|
||||
// PreInit
|
||||
// |
|
||||
// v
|
||||
// Init
|
||||
// |
|
||||
// v
|
||||
// Idle ------> Quit
|
||||
// |^
|
||||
// v|
|
||||
// GeomClosed (at each run)
|
||||
// |^
|
||||
// v|
|
||||
// EventProc (at each event)
|
||||
//
|
||||
|
||||
enum G4ApplicationState
|
||||
{PreInit, Init, Idle, GeomClosed, EventProc, Quit, Abort};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4DataVector.hh,v 1.4 1999/11/23 15:00:03 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4FastVector.hh,v 1.3 1999/11/23 15:00:03 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LPhysicsFreeVector.hh,v 1.2 1999/11/16 17:40:38 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LPhysicsFreeVector.icc,v 1.2 1999/11/23 15:00:03 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4OrderedTable.hh,v 1.4 1999/11/16 17:40:39 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsFreeVector.hh,v 1.2 1999/11/16 17:40:40 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// $Id: G4PhysicsFreeVector.hh,v 1.3 2000/11/20 17:26:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
@@ -81,7 +81,7 @@ inline size_t G4PhysicsFreeVector::FindBinLocation(G4double theEnergy) const
|
||||
// the binary search algorithm.
|
||||
//
|
||||
// Because this is a virtual function, it is accessed through a
|
||||
// pointer to the G4PhyiscsVector object for most usages. In this
|
||||
// pointer to the G4PhysicsVector object for most usages. In this
|
||||
// case, 'inline' will not be invoked. However, there is a possibility
|
||||
// that the user access to the G4PhysicsFreeVector object directly and
|
||||
// not through pointers or references. In this case, the 'inline' will
|
||||
@@ -90,13 +90,13 @@ inline size_t G4PhysicsFreeVector::FindBinLocation(G4double theEnergy) const
|
||||
size_t lowerBound = 0;
|
||||
size_t upperBound = numberOfBin-1;
|
||||
|
||||
do {
|
||||
while (lowerBound <= upperBound) {
|
||||
size_t midBin = (lowerBound + upperBound)/2;
|
||||
if( theEnergy < binVector(midBin) )
|
||||
upperBound = midBin-1;
|
||||
else
|
||||
lowerBound = midBin+1;
|
||||
} while (lowerBound <= upperBound);
|
||||
}
|
||||
|
||||
return upperBound;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsLinearVector.hh,v 1.2 1999/11/16 17:40:40 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsLnVector.hh,v 1.3 2000/03/23 09:20:09 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsLogVector.hh,v 1.2 1999/11/16 17:40:41 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsOrderedFreeVector.hh,v 1.3 1999/11/16 17:40:41 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// PhysicsOrderedFreeVector Class Definition
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsOrderedFreeVector.icc,v 1.2 1999/11/23 15:00:03 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// $Id: G4PhysicsOrderedFreeVector.icc,v 1.3 2000/11/20 17:26:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// PhysicsOrderedFreeVector Class Inline Functions Definitions
|
||||
@@ -50,7 +50,7 @@ G4double G4PhysicsOrderedFreeVector::GetMinLowEdgeEnergy()
|
||||
inline
|
||||
void G4PhysicsOrderedFreeVector::DumpValues()
|
||||
{
|
||||
for (G4int i = 0; i < numberOfBin; i++) {
|
||||
for (size_t i = 0; i < numberOfBin; i++) {
|
||||
G4cout << binVector[i] << "\t" << dataVector[i] << G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsTable.hh,v 1.3 1999/11/16 17:40:42 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsVector.hh,v 1.3 1999/11/16 17:40:43 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// $Id: G4PhysicsVector.hh,v 1.4 2000/11/20 17:26:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
@@ -121,6 +121,12 @@ class G4PhysicsVector
|
||||
virtual size_t FindBinLocation(G4double theEnergy) const=0;
|
||||
// Find the bin# in which theEnergy belongs - pure virtual function
|
||||
|
||||
private:
|
||||
|
||||
G4PhysicsVector(const G4PhysicsVector&);
|
||||
G4PhysicsVector& operator=(const G4PhysicsVector&);
|
||||
// Private copy constructor and assignment operator.
|
||||
|
||||
private:
|
||||
|
||||
G4String comment;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhysicsVector.icc,v 1.1 1999/11/16 17:40:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4RotationMatrix.hh,v 1.2 1999/11/16 17:40:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
// 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: G4StateManager.hh,v 1.2 2000/11/20 17:26:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// Geant4 Collaboration
|
||||
//
|
||||
// ---------------- G4StateManager ----------------
|
||||
//
|
||||
// Authors: G.Cosmo, M.Asai - November 1996
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Class responsible for handling and updating the running state
|
||||
// of the Geant4 application during its different phases.
|
||||
// The class is a singleton, it can be accessed via the public
|
||||
// method G4StateManager::GetStateManager().
|
||||
//
|
||||
// States of Geant4 are defined in G4ApplicationState.
|
||||
|
||||
// -------------------------------------------------------------
|
||||
|
||||
#ifndef G4StateManager_h
|
||||
#define G4StateManager_h 1
|
||||
|
||||
#include "g4rw/tpordvec.h"
|
||||
#include "globals.hh"
|
||||
#include "G4ApplicationState.hh"
|
||||
#include "G4VStateDependent.hh"
|
||||
|
||||
class G4StateManager
|
||||
{
|
||||
|
||||
public: // with description
|
||||
|
||||
static G4StateManager* GetStateManager();
|
||||
// The G4StateManager class is a singleton class and the pointer
|
||||
// to the only one existing object can be obtained by this static
|
||||
// method.
|
||||
|
||||
protected:
|
||||
|
||||
G4StateManager();
|
||||
|
||||
public:
|
||||
|
||||
~G4StateManager();
|
||||
|
||||
public: // with description
|
||||
|
||||
G4ApplicationState GetCurrentState();
|
||||
// Returns the current state
|
||||
G4ApplicationState GetPreviousState();
|
||||
// Returns the previous state
|
||||
G4bool SetNewState(G4ApplicationState requestedState);
|
||||
// Set Geant4 to a new state.
|
||||
// In case the request is irregal, false will be returned
|
||||
// and the state of Geant4 will not be changed.
|
||||
G4bool RegisterDependent(G4VStateDependent* aDependent,G4bool bottom=false);
|
||||
// Register a concrete class of G4VStateDependent.
|
||||
// Registered concrete classes will be notified via
|
||||
// G4VStateDependent::Notify() method when the state of Geant4 changes.
|
||||
// False will be returned if registration fails.
|
||||
G4bool DeregisterDependent(G4VStateDependent* aDependent);
|
||||
// Remove the registration.
|
||||
// False will be returned if aDependent has not been registered.
|
||||
G4VStateDependent* RemoveDependent(const G4VStateDependent* aDependent);
|
||||
// Remove the registration.
|
||||
// Removed pointer is returned.
|
||||
G4String GetStateString(G4ApplicationState aState);
|
||||
// Utility method which returns a string of the state name.
|
||||
|
||||
public:
|
||||
|
||||
//void Pause();
|
||||
//void Pause(const char* msg);
|
||||
//void Pause(G4String msg);
|
||||
//// G4UIsession::pauseSession() will be invoked. The argument string "msg"
|
||||
//// will be used as a prompt characters if the session is non-graphical.
|
||||
//// This method can be invoked by any user action class during the event
|
||||
//// loop. After the user's interactions, control goes back to the caller.
|
||||
|
||||
private:
|
||||
|
||||
G4StateManager(const G4StateManager &right);
|
||||
G4StateManager& operator=(const G4StateManager &right);
|
||||
G4int operator==(const G4StateManager &right) const;
|
||||
G4int operator!=(const G4StateManager &right) const;
|
||||
|
||||
private:
|
||||
|
||||
static G4StateManager* theStateManager;
|
||||
G4ApplicationState theCurrentState;
|
||||
G4ApplicationState thePreviousState;
|
||||
G4RWTPtrOrderedVector<G4VStateDependent> theDependentsList;
|
||||
G4VStateDependent* theBottomDependent;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4ThreeVector.hh,v 1.2 1999/11/16 17:40:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4Timer.hh,v 1.10 2000/01/06 14:27:09 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4Types.hh,v 1.4 1999/12/15 18:05:19 gracia Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// GEANT4 native types
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UnitsTable.hh,v 1.9 2000/01/19 11:16:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// -----------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UnitsTest.hh,v 1.4 1999/11/19 09:19:30 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UserLimits.hh,v 1.6 2000/02/17 16:13:06 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// class G4UserLimits
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UserLimits.icc,v 1.5 2000/02/17 16:13:08 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
// 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: G4VStateDependent.hh,v 1.2 2000/11/20 17:26:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// Geant4 Collaboration
|
||||
//
|
||||
// ---------------- G4VStateDependent ----------------
|
||||
//
|
||||
// Authors: G.Cosmo, M.Asai - November 1996
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Abstract base class of all classes which need to be notified when
|
||||
// the state of Geant4 changes. The concrete class object derived from
|
||||
// this base class will be automatically registered to G4StateManager
|
||||
// and the virtual method Notify() will be invoked when the state changes.
|
||||
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4VStateDependent_h
|
||||
#define G4VStateDependent_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ApplicationState.hh"
|
||||
|
||||
class G4VStateDependent
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
G4VStateDependent(G4bool bottom=false);
|
||||
virtual ~G4VStateDependent();
|
||||
G4int operator==(const G4VStateDependent &right) const;
|
||||
G4int operator!=(const G4VStateDependent &right) const;
|
||||
|
||||
public: // with description
|
||||
|
||||
virtual G4bool Notify(G4ApplicationState requestedState) = 0;
|
||||
// Pure virtual method which will be invoked by G4StateManager.
|
||||
// In case state change must not be allowed by some reason of the
|
||||
// concrete class, false should be returned. But this scheme is
|
||||
// NOT recommended to use. All command which are state sensitive
|
||||
// MUST assign available state(s).
|
||||
|
||||
private:
|
||||
|
||||
G4VStateDependent(const G4VStateDependent &right);
|
||||
G4VStateDependent& operator=(const G4VStateDependent &right);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4coutDestination.hh,v 1.2 1999/11/16 17:40:51 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// $Id: G4coutDestination.hh,v 1.3 2000/11/20 17:26:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -22,10 +22,13 @@
|
||||
|
||||
class G4coutDestination
|
||||
{
|
||||
public:
|
||||
virtual int ReceiveG4cout(G4String){return 0;}
|
||||
virtual int ReceiveG4cerr(G4String){return 0;}
|
||||
public:
|
||||
|
||||
G4coutDestination(){}
|
||||
virtual ~G4coutDestination(){}
|
||||
|
||||
virtual G4int ReceiveG4cout(G4String){return 0;}
|
||||
virtual G4int ReceiveG4cerr(G4String){return 0;}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4ios.hh,v 1.5 1999/12/15 18:05:18 gracia Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4strstreambuf.hh,v 1.6 1999/12/16 08:15:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// $Id: G4strstreambuf.hh,v 1.7 2000/11/20 17:26:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -26,70 +26,35 @@ class G4strstreambuf;
|
||||
extern G4strstreambuf G4coutbuf;
|
||||
extern G4strstreambuf G4cerrbuf;
|
||||
|
||||
class G4strstreambuf : public G4std::streambuf {
|
||||
public:
|
||||
G4strstreambuf() {
|
||||
destination = NULL;
|
||||
count = 0;
|
||||
size = 4095;
|
||||
buffer = new char[size+1];
|
||||
}
|
||||
~G4strstreambuf() {
|
||||
delete buffer;
|
||||
}
|
||||
void SetDestination(G4coutDestination * value) {
|
||||
destination = value;
|
||||
}
|
||||
int overflow(int c=EOF) {
|
||||
int result = 0;
|
||||
if(count>=size) {
|
||||
buffer[count] = '\0';
|
||||
count = 0;
|
||||
result = ReceiveString ();
|
||||
}
|
||||
buffer[count] = c;
|
||||
count++;
|
||||
if(c=='\n') {
|
||||
buffer[count] = '\0';
|
||||
count = 0;
|
||||
result = ReceiveString ();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
int sync() {
|
||||
buffer[count] = '\0';
|
||||
count = 0;
|
||||
return ReceiveString ();
|
||||
class G4strstreambuf : public G4std::streambuf
|
||||
{
|
||||
public:
|
||||
|
||||
}
|
||||
G4strstreambuf();
|
||||
~G4strstreambuf();
|
||||
|
||||
inline void SetDestination(G4coutDestination * value);
|
||||
|
||||
inline G4int overflow(G4int c=EOF);
|
||||
inline G4int sync();
|
||||
#ifdef WIN32
|
||||
int underflow() {
|
||||
return 0;
|
||||
}
|
||||
inline G4int underflow();
|
||||
#endif
|
||||
int ReceiveString () {
|
||||
G4String stringToSend = buffer;
|
||||
int result;
|
||||
if(this == & G4coutbuf && destination != NULL) {
|
||||
result = destination->ReceiveG4cout(stringToSend);
|
||||
} else if(this == & G4cerrbuf && destination != NULL) {
|
||||
result = destination->ReceiveG4cerr(stringToSend);
|
||||
} else if(this == & G4coutbuf && destination == NULL) {
|
||||
G4std::cout << stringToSend << G4std::flush;
|
||||
result =0;
|
||||
} else if(this == & G4cerrbuf && destination == NULL) {
|
||||
G4std::cerr << stringToSend << G4std::flush;
|
||||
result =0;
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
private:
|
||||
G4coutDestination * destination;
|
||||
char* buffer;
|
||||
int count,size;
|
||||
inline G4int ReceiveString ();
|
||||
|
||||
private:
|
||||
|
||||
G4strstreambuf(const G4strstreambuf&);
|
||||
G4strstreambuf& operator=(const G4strstreambuf&);
|
||||
|
||||
private:
|
||||
|
||||
G4coutDestination * destination;
|
||||
char* buffer;
|
||||
G4int count,size;
|
||||
};
|
||||
|
||||
#include "G4strstreambuf.icc"
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
// 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: G4strstreambuf.icc,v 1.1 2000/11/20 17:26:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
//
|
||||
// class G4strstreambuf
|
||||
// inline implementation
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
inline
|
||||
G4strstreambuf::G4strstreambuf()
|
||||
{
|
||||
destination = NULL;
|
||||
count = 0;
|
||||
size = 4095;
|
||||
buffer = new char[size+1];
|
||||
}
|
||||
|
||||
inline
|
||||
G4strstreambuf::~G4strstreambuf()
|
||||
{
|
||||
delete buffer;
|
||||
}
|
||||
|
||||
inline
|
||||
G4strstreambuf::G4strstreambuf(const G4strstreambuf& right)
|
||||
: destination(right.destination),
|
||||
buffer(right.buffer), count(right.count), size(right.size)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
G4strstreambuf& G4strstreambuf::operator=(const G4strstreambuf& right)
|
||||
{
|
||||
if (&right==this) return *this;
|
||||
|
||||
destination = right.destination;
|
||||
buffer = right.buffer;
|
||||
count = right.count;
|
||||
size = right.size;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4strstreambuf::SetDestination(G4coutDestination * value)
|
||||
{
|
||||
destination = value;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4strstreambuf::overflow(G4int c)
|
||||
{
|
||||
G4int result = 0;
|
||||
if(count>=size) {
|
||||
buffer[count] = '\0';
|
||||
count = 0;
|
||||
result = ReceiveString ();
|
||||
}
|
||||
buffer[count] = c;
|
||||
count++;
|
||||
if(c=='\n') {
|
||||
buffer[count] = '\0';
|
||||
count = 0;
|
||||
result = ReceiveString ();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4strstreambuf::sync()
|
||||
{
|
||||
buffer[count] = '\0';
|
||||
count = 0;
|
||||
return ReceiveString ();
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
inline
|
||||
G4int G4strstreambuf::underflow()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
inline
|
||||
G4int G4strstreambuf::ReceiveString ()
|
||||
{
|
||||
G4String stringToSend = G4String(buffer);
|
||||
G4int result =0;
|
||||
if(this == & G4coutbuf && destination != NULL) {
|
||||
result = destination->ReceiveG4cout(stringToSend);
|
||||
} else if(this == & G4cerrbuf && destination != NULL) {
|
||||
result = destination->ReceiveG4cerr(stringToSend);
|
||||
} else if(this == & G4coutbuf && destination == NULL) {
|
||||
G4std::cout << stringToSend << G4std::flush;
|
||||
result =0;
|
||||
} else if(this == & G4cerrbuf && destination == NULL) {
|
||||
G4std::cerr << stringToSend << G4std::flush;
|
||||
result =0;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: PhysicalConstants.h,v 1.4 1999/11/19 09:19:31 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: SystemOfUnits.h,v 1.4 1999/11/19 09:19:31 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: algorithm,v 1.3 1999/11/16 17:42:57 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- algorithm ----------------
|
||||
//
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: complex,v 1.3 2000/06/15 17:32:10 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- complex ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: fstream,v 1.3 1999/11/16 17:43:06 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- fstream ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: functional,v 1.3 1999/11/16 17:43:06 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- functional ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: iomanip,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- iomanip ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: iostream,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- iostream ----------------
|
||||
//
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// 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: list,v 1.1 2000/08/22 07:54:26 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- list ----------------
|
||||
//
|
||||
#ifndef G4_LIST_H
|
||||
#define G4_LIST_H
|
||||
|
||||
#ifdef G4USE_OLDSTL
|
||||
#include <list.h>
|
||||
#else
|
||||
#include <list>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: map,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- map ----------------
|
||||
//
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// 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: queue,v 1.1 2000/08/02 09:49:56 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- queue ----------------
|
||||
//
|
||||
#ifndef G4_QUEUE_H
|
||||
#define G4_QUEUE_H
|
||||
|
||||
#ifdef G4USE_OLDSTL
|
||||
#include <queue.h>
|
||||
#else
|
||||
#include <queue>
|
||||
#endif /* G4USE_OLDSTL */
|
||||
|
||||
#endif /* G4_QUEUE_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: set,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- set ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: streambuf,v 1.3 1999/11/16 17:43:09 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- streambuf ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: strstream,v 1.3 1999/11/16 17:43:09 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- strstream ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: vector,v 1.3 1999/11/16 17:43:09 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ---------------- vector ----------------
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: globals.hh,v 1.15 2000/01/19 11:12:44 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// Global Constants and typedefs
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: templates.hh,v 1.5 2000/01/03 11:39:39 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// -*- C++ -*-
|
||||
|
||||
Reference in New Issue
Block a user