Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ClassificationOfNewTrack.hh,v 1.3.4.1 2001/06/28 19:07:52 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ClassificationOfNewTrack.hh,v 1.5 2001/07/19 00:14:15 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -37,10 +37,16 @@
|
||||
|
||||
enum G4ClassificationOfNewTrack
|
||||
{
|
||||
fUrgent, // put into the urgent stack
|
||||
fWaiting, // put into the waiting stack
|
||||
fPostpone, // postpone to the next event
|
||||
fKill // kill
|
||||
fUrgent=0, // put into the urgent stack
|
||||
fWaiting=1, // put into the waiting stack
|
||||
fPostpone=-1, // postpone to the next event
|
||||
fKill=-9, // kill
|
||||
//----------------------------------------------------------------
|
||||
// following ENUM are available only if the user increases the
|
||||
// number of waiting stacks
|
||||
//----------------------------------------------------------------
|
||||
fWaiting_1=11, fWaiting_2=12, fWaiting_3=13, fWaiting_4=14, fWaiting_5=15,
|
||||
fWaiting_6=16, fWaiting_7=17, fWaiting_8=18, fWaiting_9=19, fWaiting_10=20
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EvManMessenger.hh,v 1.3.4.1 2001/06/28 19:07:52 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4EvManMessenger.hh,v 1.4 2001/07/11 09:58:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4EvManMessenger_h
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Event.hh,v 1.3.4.1 2001/06/28 19:07:52 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4Event.hh,v 1.5 2001/07/13 15:01:45 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4Event_h
|
||||
@@ -55,8 +55,8 @@ class G4Event
|
||||
inline void *operator new(size_t);
|
||||
inline void operator delete(void* anEvent);
|
||||
|
||||
int operator==(const G4Event &right) const;
|
||||
int operator!=(const G4Event &right) const;
|
||||
G4int operator==(const G4Event &right) const;
|
||||
G4int operator!=(const G4Event &right) const;
|
||||
|
||||
public: // with description
|
||||
void Print() const;
|
||||
@@ -98,7 +98,7 @@ class G4Event
|
||||
// Returns the event ID
|
||||
inline void AddPrimaryVertex(G4PrimaryVertex* aPrimaryVertex)
|
||||
{
|
||||
if( thePrimaryVertex == NULL )
|
||||
if( thePrimaryVertex == 0 )
|
||||
{ thePrimaryVertex = aPrimaryVertex; }
|
||||
else
|
||||
{ thePrimaryVertex->SetNext( aPrimaryVertex ); }
|
||||
@@ -116,15 +116,15 @@ class G4Event
|
||||
else if( i > 0 && i < numberOfPrimaryVertex )
|
||||
{
|
||||
G4PrimaryVertex* primaryVertex = thePrimaryVertex;
|
||||
for( int j=0; j<i; j++ )
|
||||
for( G4int j=0; j<i; j++ )
|
||||
{
|
||||
if( primaryVertex == NULL ) return NULL;
|
||||
if( primaryVertex == 0 ) return 0;
|
||||
primaryVertex = primaryVertex->GetNext();
|
||||
}
|
||||
return primaryVertex;
|
||||
}
|
||||
else
|
||||
{ return NULL; }
|
||||
{ return 0; }
|
||||
}
|
||||
// Returns i-th primary vertex of the event.
|
||||
inline G4HCofThisEvent* GetHCofThisEvent() const
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EventManager.hh,v 1.5.4.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4EventManager.hh,v 1.9 2001/07/19 00:14:15 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -76,7 +76,7 @@ class G4EventManager
|
||||
// This method must be exclusively invoked by G4RunManager.
|
||||
|
||||
private:
|
||||
void StackTracks(G4TrackVector *trackVector);
|
||||
void StackTracks(G4TrackVector *trackVector, G4bool IDhasAlreadySet=false);
|
||||
|
||||
G4Event* currentEvent;
|
||||
|
||||
@@ -84,7 +84,7 @@ class G4EventManager
|
||||
G4TrackingManager *trackManager;
|
||||
G4TrajectoryContainer *trajectoryContainer;
|
||||
G4int trackIDCounter;
|
||||
int verboseLevel;
|
||||
G4int verboseLevel;
|
||||
G4SDManager* sdManager;
|
||||
G4PrimaryTransformer* transformer;
|
||||
G4bool tracking;
|
||||
@@ -132,6 +132,8 @@ class G4EventManager
|
||||
// Set and get methods for user action classes. User action classes
|
||||
// which should belong to the other managers will be sent to the
|
||||
// corresponding managers.
|
||||
void SetNumberOfAdditionalWaitingStacks(G4int iAdd)
|
||||
{ trackContainer->SetNumberOfAdditionalWaitingStacks(iAdd); }
|
||||
|
||||
public: // with description
|
||||
inline G4int GetVerboseLevel()
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
// Customer: ESA/ESTEC
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// $Id: G4GeneralParticleSource.hh,v 1.3 2001/06/29 08:05:59 gcosmo Exp $
|
||||
// GEANT4 tag $Name: event-V03-01-01 $
|
||||
// $Id: G4GeneralParticleSource.hh,v 1.7 2001/10/19 16:48:28 flei Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Class Description:
|
||||
@@ -336,7 +336,7 @@
|
||||
//
|
||||
// void SetVerbosity(G4int)
|
||||
// Sets the verbosity level.
|
||||
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
@@ -396,6 +396,9 @@ public:
|
||||
inline G4double GetRadius()
|
||||
{ return Radius; }
|
||||
void SetRadius0(G4double);
|
||||
void SetBeamSigmaInR(G4double);
|
||||
void SetBeamSigmaInX(G4double);
|
||||
void SetBeamSigmaInY(G4double);
|
||||
void SetParAlpha(G4double);
|
||||
void SetParTheta(G4double);
|
||||
void SetParPhi(G4double);
|
||||
@@ -403,6 +406,7 @@ public:
|
||||
void GenerateRotationMatrices();
|
||||
// the following routines generate the source position
|
||||
void GeneratePointSource();
|
||||
void GeneratePointsInBeam();
|
||||
void GeneratePointsInPlane();
|
||||
void GeneratePointsOnSurface();
|
||||
void GeneratePointsInVolume();
|
||||
@@ -416,14 +420,23 @@ public:
|
||||
void SetMinPhi(G4double);
|
||||
void SetMaxTheta(G4double);
|
||||
void SetMaxPhi(G4double);
|
||||
void SetBeamSigmaInAngR(G4double);
|
||||
void SetBeamSigmaInAngX(G4double);
|
||||
void SetBeamSigmaInAngY(G4double);
|
||||
void UserDefAngTheta(G4ThreeVector);
|
||||
void UserDefAngPhi(G4ThreeVector);
|
||||
inline void SetParticleMomentumDirection
|
||||
(G4ParticleMomentum aMomentumDirection)
|
||||
{ particle_momentum_direction = aMomentumDirection.unit(); }
|
||||
// These methods generate the momentum vectors for the particles.
|
||||
void GenerateIsotropicFlux();
|
||||
void GenerateCosineLawFlux();
|
||||
void GenerateBeamFlux();
|
||||
void GeneratePlanarFlux();
|
||||
void GenerateUserDefFlux();
|
||||
G4double GenerateUserDefTheta();
|
||||
G4double GenerateUserDefPhi();
|
||||
void SetUseUserAngAxis(G4bool);
|
||||
void SetUserWRTSurface(G4bool);
|
||||
|
||||
// Energy Distribution methods
|
||||
@@ -443,6 +456,7 @@ public:
|
||||
void SetMonoEnergy(G4double);
|
||||
void SetAlpha(G4double);
|
||||
void SetTemp(G4double);
|
||||
void SetBeamSigmaInE(G4double);
|
||||
void SetEzero(G4double);
|
||||
void SetGradient(G4double);
|
||||
void SetInterCept(G4double);
|
||||
@@ -467,6 +481,7 @@ public:
|
||||
void GenerateLinearEnergies();
|
||||
void GeneratePowEnergies();
|
||||
void GenerateExpEnergies();
|
||||
void GenerateGaussEnergies();
|
||||
void GenerateBremEnergies();
|
||||
void GenerateBbodyEnergies();
|
||||
void GenerateCdgEnergies();
|
||||
@@ -490,6 +505,9 @@ public:
|
||||
G4double GenRandPhi();
|
||||
G4double GenRandEnergy();
|
||||
|
||||
// method to re-set the histograms
|
||||
void ReSetHist(G4String);
|
||||
|
||||
// Set the verbosity level.
|
||||
void SetVerbosity(G4int);
|
||||
|
||||
@@ -545,6 +563,7 @@ private:
|
||||
G4double halfx, halfy, halfz; //half lengths
|
||||
G4double Radius; //Radius for circles or spheres
|
||||
G4double Radius0; // The inner radius of an annulus
|
||||
G4double SR,SX,SY; // Standard deviation in raduial, x, y for beam type source
|
||||
G4ThreeVector CentreCoords; // Coords of centre of input shape
|
||||
G4ThreeVector Rotx, Roty, Rotz; // Unit vectors defining rotation matrix
|
||||
G4double ParAlpha, ParTheta, ParPhi; //Angle for Right Parallellepipeds
|
||||
@@ -556,6 +575,7 @@ private:
|
||||
G4String AngDistType; // String to hold Ang dist type iso, cos, user
|
||||
G4ThreeVector AngRef1, AngRef2, AngRef3; // Reference axes for ang dist
|
||||
G4double MinTheta, MaxTheta, MinPhi, MaxPhi; // min/max theta/phi
|
||||
G4double DR,DX,DY ; // Standard deviation for beam divergence
|
||||
G4double Theta, Phi; // Store these for use with DEBUG
|
||||
G4bool IPDFThetaExist, IPDFPhiExist; // tell whether IPDF histos exist
|
||||
G4PhysicsOrderedFreeVector UDefThetaH; // Theta histo data
|
||||
@@ -565,10 +585,12 @@ private:
|
||||
G4String UserDistType; //String to hold user distributions
|
||||
G4bool UserWRTSurface; // G4bool to tell whether user wants distribution wrt
|
||||
// surface normals or co-ordinate system
|
||||
G4bool UserAngRef; // Set to true when user defines aaa new coordinates
|
||||
|
||||
// Energy Distribution variables
|
||||
G4String EnergyDisType; // energy dis type Variable - Mono,Lin,Exp,etc
|
||||
G4double MonoEnergy; //Mono-energteic energy
|
||||
G4double SE ; // Standard deviation for Gaussion distrbution in energy
|
||||
G4double Emin, Emax; // emin and emax
|
||||
G4double alpha, Ezero, Temp; // alpha (pow), E0 (exp) and Temp (bbody,brem)
|
||||
G4double grad, cept; // gradient and intercept for linear spectra
|
||||
@@ -626,6 +648,8 @@ private:
|
||||
G4int verbosityLevel;
|
||||
|
||||
private:
|
||||
|
||||
G4PhysicsOrderedFreeVector ZeroPhysVector ; // for re-set only
|
||||
|
||||
G4DataInterpolation *SplineInt; // holds Spline stuff
|
||||
|
||||
@@ -636,4 +660,9 @@ private:
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
// Customer: ESA/ESTEC
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// $Id: G4GeneralParticleSourceMessenger.hh,v 1.3 2001/06/29 08:06:00 gcosmo Exp $
|
||||
// GEANT4 tag $Name: event-V03-01-01 $
|
||||
// $Id: G4GeneralParticleSourceMessenger.hh,v 1.7 2001/10/19 16:48:28 flei Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Class Description:
|
||||
@@ -60,7 +60,7 @@
|
||||
// G4String GetCurrentValue(G4UIcommand *command)
|
||||
// Allows the user to retrieve the current values of parameters.
|
||||
// Not implemented yet.
|
||||
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// CHANGE HISTORY
|
||||
@@ -125,6 +125,9 @@ private: //commands
|
||||
G4UIcmdWithADoubleAndUnit *halfzCmd;
|
||||
G4UIcmdWithADoubleAndUnit *radiusCmd;
|
||||
G4UIcmdWithADoubleAndUnit *radius0Cmd;
|
||||
G4UIcmdWithADoubleAndUnit *possigmarCmd;
|
||||
G4UIcmdWithADoubleAndUnit *possigmaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *possigmayCmd;
|
||||
G4UIcmdWithADoubleAndUnit *paralpCmd;
|
||||
G4UIcmdWithADoubleAndUnit *partheCmd;
|
||||
G4UIcmdWithADoubleAndUnit *parphiCmd;
|
||||
@@ -137,12 +140,17 @@ private: //commands
|
||||
G4UIcmdWithADoubleAndUnit *maxthetaCmd;
|
||||
G4UIcmdWithADoubleAndUnit *minphiCmd;
|
||||
G4UIcmdWithADoubleAndUnit *maxphiCmd;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmarCmd;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmayCmd;
|
||||
G4UIcmdWithABool *useuserangaxisCmd;
|
||||
G4UIcmdWithABool *surfnormCmd;
|
||||
|
||||
G4UIcmdWithAString *energytypeCmd;
|
||||
G4UIcmdWithADoubleAndUnit *eminCmd;
|
||||
G4UIcmdWithADoubleAndUnit *emaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *monoenergyCmd;
|
||||
G4UIcmdWithADoubleAndUnit *engsigmaCmd;
|
||||
G4UIcmdWithADouble *alphaCmd;
|
||||
G4UIcmdWithADouble *tempCmd;
|
||||
G4UIcmdWithADouble *ezeroCmd;
|
||||
@@ -156,8 +164,12 @@ private: //commands
|
||||
G4UIcmdWithAString *histnameCmd;
|
||||
G4UIcmdWithAString *arbintCmd;
|
||||
|
||||
G4UIcmdWithAString *resethistCmd;
|
||||
|
||||
G4UIcmdWithAnInteger *verbosityCmd;
|
||||
|
||||
// below are commands from G4ParticleGun
|
||||
|
||||
G4UIcommand *ionCmd;
|
||||
|
||||
G4UIcmdWithAString *particleCmd;
|
||||
@@ -165,6 +177,12 @@ private: //commands
|
||||
G4UIcmdWith3Vector *polCmd;
|
||||
G4UIcmdWithAnInteger *numberCmd;
|
||||
|
||||
G4UIcmdWith3VectorAndUnit *positionCmd;
|
||||
G4UIcmdWith3Vector *directionCmd;
|
||||
G4UIcmdWithADoubleAndUnit *energyCmd;
|
||||
G4UIcmdWithoutParameter *listCmd;
|
||||
|
||||
|
||||
private: // for ion shooting
|
||||
G4bool fShootIon;
|
||||
G4int fAtomicNumber;
|
||||
@@ -175,3 +193,7 @@ private: //commands
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4HEPEvtInterface.hh,v 1.5.2.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4HEPEvtInterface.hh,v 1.6 2001/07/11 09:58:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4HEPEvtInterface_h
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4HEPEvtParticle.hh,v 1.3.4.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4HEPEvtParticle.hh,v 1.5 2001/07/13 15:01:45 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -51,8 +51,8 @@ class G4HEPEvtParticle
|
||||
~G4HEPEvtParticle();
|
||||
|
||||
const G4HEPEvtParticle & operator=(const G4HEPEvtParticle &right);
|
||||
int operator==(const G4HEPEvtParticle &right) const;
|
||||
int operator!=(const G4HEPEvtParticle &right) const;
|
||||
G4int operator==(const G4HEPEvtParticle &right) const;
|
||||
G4int operator!=(const G4HEPEvtParticle &right) const;
|
||||
|
||||
private:
|
||||
G4PrimaryParticle * theParticle;
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleGun.hh,v 1.4.4.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleGun.hh,v 1.7 2001/11/20 23:21:41 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4ParticleGun_h
|
||||
@@ -73,8 +73,8 @@ class G4ParticleGun:public G4VPrimaryGenerator
|
||||
G4ParticleGun(const G4ParticleGun &right);
|
||||
|
||||
const G4ParticleGun & operator=(const G4ParticleGun &right);
|
||||
int operator==(const G4ParticleGun &right) const;
|
||||
int operator!=(const G4ParticleGun &right) const;
|
||||
G4int operator==(const G4ParticleGun &right) const;
|
||||
G4int operator!=(const G4ParticleGun &right) const;
|
||||
|
||||
public: // with description
|
||||
virtual void GeneratePrimaryVertex(G4Event* evt);
|
||||
@@ -92,10 +92,6 @@ class G4ParticleGun:public G4VPrimaryGenerator
|
||||
{ particle_momentum_direction = aMomentumDirection.unit(); }
|
||||
inline void SetParticleEnergy(G4double aKineticEnergy)
|
||||
{ particle_energy = aKineticEnergy; }
|
||||
inline void SetParticlePosition(G4ThreeVector aPosition)
|
||||
{ particle_position = aPosition; }
|
||||
inline void SetParticleTime(G4double aTime)
|
||||
{ particle_time = aTime; }
|
||||
inline void SetParticleCharge(G4double aCharge)
|
||||
{ particle_charge = aCharge; }
|
||||
inline void SetParticlePolarization(G4ThreeVector aVal)
|
||||
@@ -112,10 +108,6 @@ class G4ParticleGun:public G4VPrimaryGenerator
|
||||
{ return particle_energy; }
|
||||
inline G4double GetParticleCharge()
|
||||
{ return particle_charge; }
|
||||
inline G4ThreeVector GetParticlePosition()
|
||||
{ return particle_position; }
|
||||
inline G4double GetParticleTime()
|
||||
{ return particle_time; }
|
||||
inline G4ThreeVector GetParticlePolarization()
|
||||
{ return particle_polarization; }
|
||||
inline G4int GetNumberOfParticles()
|
||||
@@ -129,8 +121,6 @@ class G4ParticleGun:public G4VPrimaryGenerator
|
||||
G4ParticleMomentum particle_momentum_direction;
|
||||
G4double particle_energy;
|
||||
G4double particle_charge;
|
||||
G4ThreeVector particle_position;
|
||||
G4double particle_time;
|
||||
G4ThreeVector particle_polarization;
|
||||
|
||||
private:
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleGunMessenger.hh,v 1.5.4.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleGunMessenger.hh,v 1.6 2001/07/11 09:58:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PrimaryParticle.hh,v 1.8.2.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PrimaryParticle.hh,v 1.10 2001/07/13 15:01:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -76,8 +76,8 @@ class G4PrimaryParticle
|
||||
~G4PrimaryParticle();
|
||||
|
||||
const G4PrimaryParticle & operator=(const G4PrimaryParticle &right);
|
||||
int operator==(const G4PrimaryParticle &right) const;
|
||||
int operator!=(const G4PrimaryParticle &right) const;
|
||||
G4int operator==(const G4PrimaryParticle &right) const;
|
||||
G4int operator!=(const G4PrimaryParticle &right) const;
|
||||
|
||||
public: // with description
|
||||
void Print() const;
|
||||
@@ -156,14 +156,14 @@ class G4PrimaryParticle
|
||||
}
|
||||
inline void SetNext(G4PrimaryParticle * np)
|
||||
{
|
||||
if(nextParticle == NULL)
|
||||
if(nextParticle == 0)
|
||||
{ nextParticle = np; }
|
||||
else
|
||||
{ nextParticle->SetNext(np); }
|
||||
}
|
||||
inline void SetDaughter(G4PrimaryParticle * np)
|
||||
{
|
||||
if(daughterParticle == NULL)
|
||||
if(daughterParticle == 0)
|
||||
{ daughterParticle = np; }
|
||||
else
|
||||
{ daughterParticle->SetNext(np); }
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PrimaryTransformer.hh,v 1.4.4.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PrimaryTransformer.hh,v 1.6 2001/07/18 01:25:44 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4PromaryTransformer_h
|
||||
@@ -47,12 +47,13 @@ class G4PrimaryTransformer
|
||||
G4PrimaryTransformer();
|
||||
~G4PrimaryTransformer();
|
||||
|
||||
G4TrackVector* GimmePrimaries(G4Event* anEvent);
|
||||
G4TrackVector* GimmePrimaries(G4Event* anEvent, G4int trackIDCounter=0);
|
||||
|
||||
private:
|
||||
G4TrackVector TV;
|
||||
G4ParticleTable* particleTable;
|
||||
G4int verboseLevel;
|
||||
G4int trackID;
|
||||
|
||||
public:
|
||||
inline void SetVerboseLevel(G4int vl)
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PrimaryVertex.hh,v 1.5.4.1 2001/06/28 19:07:53 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PrimaryVertex.hh,v 1.7 2001/07/13 15:01:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -54,8 +54,8 @@ class G4PrimaryVertex
|
||||
~G4PrimaryVertex();
|
||||
|
||||
const G4PrimaryVertex & operator=(const G4PrimaryVertex &right);
|
||||
int operator==(const G4PrimaryVertex &right) const;
|
||||
int operator!=(const G4PrimaryVertex &right) const;
|
||||
G4int operator==(const G4PrimaryVertex &right) const;
|
||||
G4int operator!=(const G4PrimaryVertex &right) const;
|
||||
|
||||
void Print() const;
|
||||
|
||||
@@ -89,7 +89,7 @@ class G4PrimaryVertex
|
||||
{ return numberOfParticle; }
|
||||
inline void SetPrimary(G4PrimaryParticle * pp)
|
||||
{
|
||||
if(theParticle == NULL)
|
||||
if(theParticle == 0)
|
||||
{
|
||||
theParticle = pp;
|
||||
theTail = pp;
|
||||
@@ -108,19 +108,19 @@ class G4PrimaryVertex
|
||||
else if( i > 0 && i < numberOfParticle )
|
||||
{
|
||||
G4PrimaryParticle* particle = theParticle;
|
||||
for( int j=0; j<i; j++ )
|
||||
for( G4int j=0; j<i; j++ )
|
||||
{
|
||||
if( particle == NULL ) return NULL;
|
||||
if( particle == 0 ) return 0;
|
||||
particle = particle->GetNext();
|
||||
}
|
||||
return particle;
|
||||
}
|
||||
else
|
||||
{ return NULL; }
|
||||
{ return 0; }
|
||||
}
|
||||
inline void SetNext(G4PrimaryVertex* nv)
|
||||
{
|
||||
if(nextVertex == NULL)
|
||||
if(nextVertex == 0)
|
||||
{ nextVertex = nv; }
|
||||
else
|
||||
{ nextVertex->SetNext(nv); }
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StackManager.hh,v 1.5.4.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4StackManager.hh,v 1.8 2001/07/19 00:14:16 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -66,11 +66,11 @@ class G4StackManager
|
||||
private:
|
||||
const G4StackManager & operator=
|
||||
(const G4StackManager &right);
|
||||
int operator==(const G4StackManager &right) const;
|
||||
int operator!=(const G4StackManager &right) const;
|
||||
G4int operator==(const G4StackManager &right) const;
|
||||
G4int operator!=(const G4StackManager &right) const;
|
||||
|
||||
public:
|
||||
G4int PushOneTrack(G4Track *newTrack, G4VTrajectory *newTrajectory = NULL);
|
||||
G4int PushOneTrack(G4Track *newTrack, G4VTrajectory *newTrajectory = 0);
|
||||
G4Track * PopNextTrack(G4VTrajectory**newTrajectory);
|
||||
G4int PrepareNewEvent();
|
||||
|
||||
@@ -84,37 +84,66 @@ class G4StackManager
|
||||
// stack are send to the urgent stack and then the user's NewStage()
|
||||
// method is invoked.
|
||||
|
||||
void SetNumberOfAdditionalWaitingStacks(G4int iAdd);
|
||||
// Set the number of additional (optional) waiting stacks.
|
||||
// This method must be invoked at PreInit, Init or Idle states.
|
||||
// Once the user set the number of additional waiting stacks,
|
||||
// he/she can use the corresponding ENUM in G4ClassificationOfNewTrack.
|
||||
// The user should invoke G4RunManager::SetNumberOfAdditionalWaitingStacks
|
||||
// method, which invokes this method.
|
||||
|
||||
void TransferStackedTracks(G4ClassificationOfNewTrack origin, G4ClassificationOfNewTrack destination);
|
||||
// Transfter stacked track from the origin stack to the destination stack.
|
||||
// The destination stack needs not be empty.
|
||||
// If the destination is fKill, tracks are deleted.
|
||||
// If the origin is fKill, nothing happen.
|
||||
|
||||
private:
|
||||
G4UserStackingAction * userStackingAction;
|
||||
int verboseLevel;
|
||||
G4int verboseLevel;
|
||||
G4TrackStack * urgentStack;
|
||||
G4TrackStack * waitingStack;
|
||||
G4TrackStack * postponeStack;
|
||||
G4StackingMessenger* theMessenger;
|
||||
G4std::vector<G4TrackStack*> additionalWaitingStacks;
|
||||
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()
|
||||
{ waitingStack->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
|
||||
{ return urgentStack->GetNTrack()
|
||||
+ waitingStack->GetNTrack()
|
||||
+ postponeStack->GetNTrack(); }
|
||||
{ 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() const
|
||||
{ return waitingStack->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( int const value )
|
||||
inline void SetVerboseLevel( G4int const value )
|
||||
{ verboseLevel = value; }
|
||||
inline void SetUserStackingAction(G4UserStackingAction* value)
|
||||
{
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StackedTrack.hh,v 1.4.4.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4StackedTrack.hh,v 1.6 2001/07/13 15:01:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// Last Modification : 02/Feb/96 M.Asai
|
||||
@@ -54,8 +54,8 @@ class G4StackedTrack
|
||||
~G4StackedTrack();
|
||||
|
||||
const G4StackedTrack & operator=(const G4StackedTrack &right);
|
||||
int operator==(const G4StackedTrack &right) const;
|
||||
int operator!=(const G4StackedTrack &right) const;
|
||||
G4int operator==(const G4StackedTrack &right) const;
|
||||
G4int operator!=(const G4StackedTrack &right) const;
|
||||
|
||||
private:
|
||||
G4double priorityWeight;
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StackingMessenger.hh,v 1.3.4.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4StackingMessenger.hh,v 1.4 2001/07/11 09:58:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4StackingMessenger_h
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4TrackStack.hh,v 1.3.4.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4TrackStack.hh,v 1.5 2001/07/13 15:01:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// Last Modification : 09/Dec/96 M.Asai
|
||||
@@ -50,8 +50,8 @@ class G4TrackStack
|
||||
private:
|
||||
const G4TrackStack & operator=
|
||||
(const G4TrackStack &right);
|
||||
int operator==(const G4TrackStack &right) const;
|
||||
int operator!=(const G4TrackStack &right) const;
|
||||
G4int operator==(const G4TrackStack &right) const;
|
||||
G4int operator!=(const G4TrackStack &right) const;
|
||||
|
||||
public:
|
||||
void PushToStack(G4StackedTrack * aStackedTrack);
|
||||
|
||||
@@ -21,26 +21,23 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4TrajectoryContainer.hh,v 1.6.2.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4TrajectoryContainer.hh,v 1.8 2001/07/13 15:01:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// G4TrajectoryContainer
|
||||
// G4TrajectoryContainer
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// This is a container of G4VTrajectory objects and the object of this
|
||||
// container will be associated to G4Event object.
|
||||
//
|
||||
|
||||
// ********************************************************************
|
||||
#ifndef G4TrajectoryContainer_h
|
||||
#define G4TrajectoryContainer_h 1
|
||||
|
||||
#include "G4VTrajectory.hh"
|
||||
// G4RWTPtrOrderedVector
|
||||
//#include "g4rw/tpordvec.h"
|
||||
|
||||
// class description:
|
||||
//
|
||||
// This is a container of G4VTrajectory objects and the object of this
|
||||
// container will be associated to G4Event object.
|
||||
|
||||
//typedef G4RWTPtrOrderedVector<G4VTrajectory> G4TrajectoryContainer;
|
||||
|
||||
class G4TrajectoryContainer : public G4std::vector<G4VTrajectory*>
|
||||
{
|
||||
@@ -53,11 +50,8 @@ class G4TrajectoryContainer : public G4std::vector<G4VTrajectory*>
|
||||
inline G4bool insert(G4VTrajectory* p) { push_back(p); return true; }
|
||||
inline void clearAndDestroy()
|
||||
{
|
||||
for(int i=0;i<size();i++)
|
||||
{ delete (*this)[i]; }
|
||||
for(size_t i=0;i<size();i++) delete (*this)[i];
|
||||
clear();
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UserEventAction.hh,v 1.4.4.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4UserEventAction.hh,v 1.5 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UserStackingAction.hh,v 1.4.4.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4UserStackingAction.hh,v 1.5 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4UserStackingAction_h
|
||||
|
||||
@@ -21,13 +21,15 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VPrimaryGenerator.hh,v 1.3.4.1 2001/06/28 19:07:54 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4VPrimaryGenerator.hh,v 1.6 2001/11/21 13:48:40 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
#ifndef G4VPrimaryGenerator_h
|
||||
#define G4VPrimaryGenerator_h 1
|
||||
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class G4Event;
|
||||
|
||||
// class description:
|
||||
@@ -45,6 +47,21 @@ class G4VPrimaryGenerator
|
||||
virtual ~G4VPrimaryGenerator();
|
||||
|
||||
virtual void GeneratePrimaryVertex(G4Event* evt) = 0;
|
||||
|
||||
protected:
|
||||
G4ThreeVector particle_position;
|
||||
G4double particle_time;
|
||||
|
||||
public:
|
||||
G4ThreeVector GetParticlePosition()
|
||||
{ return particle_position; }
|
||||
G4double GetParticleTime()
|
||||
{ return particle_time; }
|
||||
void SetParticlePosition(G4ThreeVector aPosition)
|
||||
{ particle_position = aPosition; }
|
||||
void SetParticleTime(G4double aTime)
|
||||
{ particle_time = aTime; }
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: eventgendefs.hh,v 1.2.4.1 2001/06/28 19:07:55 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: eventgendefs.hh,v 1.3 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
#ifndef EventGenerator_DEBUG
|
||||
#define EventGenerator_DEBUG
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: evmandefs.hh,v 1.2.4.1 2001/06/28 19:07:55 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: evmandefs.hh,v 1.3 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
///#define G4EVENTMANAGER_DEBUG 1
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: trajectoryControl.hh,v 1.2.4.1 2001/06/28 19:07:55 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: trajectoryControl.hh,v 1.3 2001/07/11 09:58:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
////#define G4_STORE_TRAJECTORY 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user