Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03CalorHit.hh
/// \brief Definition of the F03CalorHit class
//
// $Id: F03CalorHit.hh,v 1.4 2006-06-29 17:18:35 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -46,7 +46,7 @@ class F03CalorHit : public G4VHit
public:
F03CalorHit();
~F03CalorHit();
~F03CalorHit();
F03CalorHit(const F03CalorHit&);
const F03CalorHit& operator=(const F03CalorHit&);
G4int operator==(const F03CalorHit&) const;
@@ -54,22 +54,22 @@ class F03CalorHit : public G4VHit
inline void* operator new(size_t);
inline void operator delete(void*);
void Print();
virtual void Print();
public:
void AddAbs(G4double de, G4double dl) {EdepAbs += de; TrackLengthAbs += dl;};
void AddGap(G4double de, G4double dl) {EdepGap += de; TrackLengthGap += dl;};
void AddAbs(G4double de, G4double dl) {fEdepAbs += de; fTrackLengthAbs += dl;};
void AddGap(G4double de, G4double dl) {fEdepGap += de; fTrackLengthGap += dl;};
G4double GetEdepAbs() { return EdepAbs; };
G4double GetTrakAbs() { return TrackLengthAbs; };
G4double GetEdepGap() { return EdepGap; };
G4double GetTrakGap() { return TrackLengthGap; };
G4double GetEdepAbs() { return fEdepAbs; };
G4double GetTrackAbs() { return fTrackLengthAbs; };
G4double GetEdepGap() { return fEdepGap; };
G4double GetTrackGap() { return fTrackLengthGap; };
private:
G4double EdepAbs, TrackLengthAbs;
G4double EdepGap, TrackLengthGap;
G4double fEdepAbs, fTrackLengthAbs;
G4double fEdepGap, fTrackLengthGap;
};
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03CalorimeterSD.hh
/// \brief Definition of the F03CalorimeterSD class
//
// $Id: F03CalorimeterSD.hh,v 1.4 2006-06-29 17:18:38 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -35,9 +35,9 @@
#ifndef F03CalorimeterSD_h
#define F03CalorimeterSD_h 1
#include "globals.hh"
#include "G4VSensitiveDetector.hh"
#include "F03CalorHit.hh"
#include "G4VSensitiveDetector.hh"
#include "globals.hh"
class F03DetectorConstruction;
class G4HCofThisEvent;
@@ -50,19 +50,19 @@ class F03CalorimeterSD : public G4VSensitiveDetector
public:
F03CalorimeterSD(G4String, F03DetectorConstruction* );
~F03CalorimeterSD();
~F03CalorimeterSD();
void Initialize(G4HCofThisEvent*);
G4bool ProcessHits(G4Step*,G4TouchableHistory*);
void EndOfEvent(G4HCofThisEvent*);
void clear();
void PrintAll();
virtual void Initialize(G4HCofThisEvent*);
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
virtual void EndOfEvent(G4HCofThisEvent*);
virtual void clear();
virtual void PrintAll();
private:
F03CalorHitsCollection* CalCollection;
F03DetectorConstruction* Detector;
G4int* HitID;
F03CalorHitsCollection* fCalCollection;
F03DetectorConstruction* fDetector;
G4int* fHitID;
};
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03DetectorConstruction.hh
/// \brief Definition of the F03DetectorConstruction class
//
// $Id: F03DetectorConstruction.hh,v 1.6 2006-06-29 17:18:40 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
#ifndef F03DetectorConstruction_h
@@ -36,23 +36,22 @@
#include "globals.hh"
#include "G4ios.hh"
class G4Box;
class F03DetectorMessenger;
class F03CalorimeterSD;
class F03FieldSetup;
class G4Tubs;
class G4LogicalVolume;
class G4VPhysicalVolume;
class G4Material;
class G4UniformMagField;
class F03DetectorMessenger;
class F03CalorimeterSD;
class F03FieldSetup;
class F03DetectorConstruction : public G4VUserDetectorConstruction
{
public:
F03DetectorConstruction();
~F03DetectorConstruction();
~F03DetectorConstruction();
public:
@@ -66,7 +65,7 @@ class F03DetectorConstruction : public G4VUserDetectorConstruction
void SetWorldSizeZ(G4double);
void SetWorldSizeR(G4double);
G4VPhysicalVolume* Construct();
virtual G4VPhysicalVolume* Construct();
void UpdateGeometry();
@@ -74,69 +73,69 @@ class F03DetectorConstruction : public G4VUserDetectorConstruction
void PrintCalorParameters();
G4Material* GetWorldMaterial() {return WorldMaterial;};
G4double GetWorldSizeZ() {return WorldSizeZ;};
G4double GetWorldSizeR() {return WorldSizeR;};
G4Material* GetWorldMaterial() {return fWorldMaterial;}
G4double GetWorldSizeZ() {return fWorldSizeZ;}
G4double GetWorldSizeR() {return fWorldSizeR;}
G4double GetAbsorberZpos() {return zAbsorber;};
G4double GetzstartAbs() {return zstartAbs;};
G4double GetzendAbs() {return zendAbs;};
G4double GetAbsorberZpos() {return fZAbsorber;}
G4double GetZStartAbs() {return fZStartAbs;}
G4double GetZEndAbs() {return fZEndAbs;}
G4Material* GetAbsorberMaterial() {return AbsorberMaterial;};
G4double GetAbsorberThickness() {return AbsorberThickness;};
G4double GetAbsorberRadius() {return AbsorberRadius;};
G4Material* GetAbsorberMaterial() {return fAbsorberMaterial;}
G4double GetAbsorberThickness() {return fAbsorberThickness;}
G4double GetAbsorberRadius() {return fAbsorberRadius;}
const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;};
const G4VPhysicalVolume* GetAbsorber() {return physiAbsorber;};
G4LogicalVolume* GetLogicalAbsorber() {return logicAbsorber;};
const G4VPhysicalVolume* GetPhysiWorld() {return fPhysiWorld;}
const G4VPhysicalVolume* GetAbsorber() {return fPhysiAbsorber;}
G4LogicalVolume* GetLogicalAbsorber() {return fLogicAbsorber;}
private:
G4Tubs* solidWorld; // pointer to the solid World
G4LogicalVolume* logicWorld; // pointer to the logical World
G4VPhysicalVolume* physiWorld; // pointer to the physical World
G4Tubs* solidAbsorber; // pointer to the solid Absorber
G4LogicalVolume* logicAbsorber; // pointer to the logical Absorber
G4VPhysicalVolume* physiAbsorber; // pointer to the physical Absorber
G4UniformMagField* magField; // pointer to the magnetic field
G4UniformMagField* fMagField; // pointer to the magnetic field
F03FieldSetup* fEmFieldSetup;
F03DetectorMessenger* detectorMessenger; // pointer to the Messenger
F03CalorimeterSD* calorimeterSD; // pointer to the sensitive detector
F03DetectorMessenger* fDetectorMessenger;// pointer to the Messenger
F03CalorimeterSD* fCalorimeterSD; // pointer to the sensitive detector
// TR radiator volumes and dimensions
// volumes
G4Tubs* fSolidRadSlice; // pointer to the solid z-slice
G4LogicalVolume* fLogicRadSlice; // pointer to the logical z-slide
G4VPhysicalVolume* fPhysicRadSlice; // pointer to the physical z-slide
G4Tubs* fSolidWorld; // pointer to the solid World
G4LogicalVolume* fLogicWorld; // pointer to the logical World
G4VPhysicalVolume* fPhysiWorld; // pointer to the physical World
G4Tubs* solidRadiator;
G4LogicalVolume* logicRadiator;
G4VPhysicalVolume* physiRadiator;
G4Material* AbsorberMaterial;
G4double AbsorberThickness;
G4double AbsorberRadius;
G4Material* fRadiatorMat; // pointer to the TR radiator material
G4bool worldchanged;
G4double zAbsorber ;
G4double zstartAbs , zendAbs ;
G4Tubs* fSolidAbsorber; // pointer to the solid Absorber
G4LogicalVolume* fLogicAbsorber; // pointer to the logical Absorber
G4VPhysicalVolume* fPhysiAbsorber; // pointer to the physical Absorber
G4Material* WorldMaterial;
G4double WorldSizeR;
G4double WorldSizeZ;
G4Tubs* fSolidRadSlice; // pointer to the solid z-slice
G4LogicalVolume* fLogicRadSlice; // pointer to the logical z-slide
G4VPhysicalVolume* fPhysiRadSlice; // pointer to the physical z-slide
G4double fRadThickness ;
G4double fGasGap ;
G4Tubs* fSolidRadiator;
G4LogicalVolume* fLogicRadiator;
G4VPhysicalVolume* fPhysiRadiator;
G4int fFoilNumber ;
// materials
G4Material* fWorldMaterial;
G4Material* fAbsorberMaterial;
G4Material* fRadiatorMat; // pointer to the TR radiator material
G4double fDetGap ;
// dimensions
G4double fWorldSizeR;
G4double fWorldSizeZ;
G4double fAbsorberThickness;
G4double fAbsorberRadius;
G4double fZAbsorber;
G4double fZStartAbs, fZEndAbs;
G4double fStartR ;
G4double fStartZ ;
G4double fRadThickness;
G4double fGasGap;
G4double fDetGap;
G4int fFoilNumber;
G4bool fWorldChanged;
private:
@@ -151,9 +150,8 @@ inline void F03DetectorConstruction::ComputeCalorParameters()
{
// Compute derived parameters of the calorimeter
zstartAbs = zAbsorber-0.5*AbsorberThickness;
zendAbs = zAbsorber+0.5*AbsorberThickness;
fZStartAbs = fZAbsorber-0.5*fAbsorberThickness;
fZEndAbs = fZAbsorber+0.5*fAbsorberThickness;
}
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03DetectorMessenger.hh
/// \brief Definition of the F03DetectorMessenger class
//
// $Id: F03DetectorMessenger.hh,v 1.4 2006-06-29 17:18:42 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -35,8 +35,8 @@
#ifndef F03DetectorMessenger_h
#define F03DetectorMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "globals.hh"
class F03DetectorConstruction;
class G4UIdirectory;
@@ -51,26 +51,26 @@ class F03DetectorMessenger: public G4UImessenger
{
public:
F03DetectorMessenger(F03DetectorConstruction* );
~F03DetectorMessenger();
~F03DetectorMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
F03DetectorConstruction* F03Detector;
F03DetectorConstruction* fDetector;
G4UIdirectory* F03detDir;
G4UIdirectory* fDetDir;
G4UIcmdWithAString* AbsMaterCmd;
G4UIcmdWithADoubleAndUnit* AbsThickCmd;
G4UIcmdWithADoubleAndUnit* AbsRadCmd;
G4UIcmdWithAString* fAbsMaterCmd;
G4UIcmdWithADoubleAndUnit* fAbsThickCmd;
G4UIcmdWithADoubleAndUnit* fAbsRadCmd;
G4UIcmdWithADoubleAndUnit* AbsZposCmd;
G4UIcmdWithADoubleAndUnit* fAbsZposCmd;
G4UIcmdWithAString* WorldMaterCmd;
G4UIcmdWithADoubleAndUnit* WorldZCmd;
G4UIcmdWithADoubleAndUnit* WorldRCmd;
G4UIcmdWithAString* fWorldMaterCmd;
G4UIcmdWithADoubleAndUnit* fWorldZCmd;
G4UIcmdWithADoubleAndUnit* fWorldRCmd;
G4UIcmdWithoutParameter* UpdateCmd;
G4UIcmdWithoutParameter* fUpdateCmd;
};
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03EventAction.hh
/// \brief Definition of the F03EventAction class
//
// $Id: F03EventAction.hh,v 1.4 2006-06-29 17:18:44 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -46,26 +46,22 @@ class F03EventActionMessenger;
class F03EventAction : public G4UserEventAction
{
public:
F03EventAction(F03RunAction* F03RA);
~F03EventAction();
F03EventAction(F03RunAction* action);
~F03EventAction();
public:
void BeginOfEventAction(const G4Event*);
void EndOfEventAction(const G4Event*);
G4int GetEventno();
void setEventVerbose(G4int level);
void SetDrawFlag(G4String val) {drawFlag = val;};
void SetPrintModulo(G4int val) {printModulo = val;};
virtual void BeginOfEventAction(const G4Event*);
virtual void EndOfEventAction(const G4Event*);
void SetEventVerbose(G4int level);
void SetPrintModulo(G4int val) {fPrintModulo = val;};
private:
G4int calorimeterCollID;
F03EventActionMessenger* eventMessenger;
F03RunAction* runaction;
G4int verboselevel;
G4String drawFlag;
G4int printModulo;
G4int fCalorimeterCollID;
F03EventActionMessenger* fEventMessenger;
F03RunAction* fRunAction;
G4int fVerboseLevel;
G4int fPrintModulo;
};
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03EventActionMessenger.hh
/// \brief Definition of the F03EventActionMessenger class
//
// $Id: F03EventActionMessenger.hh,v 1.3 2006-06-29 17:18:46 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -35,13 +35,11 @@
#ifndef F03EventActionMessenger_h
#define F03EventActionMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "globals.hh"
class F03EventAction;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -49,15 +47,14 @@ class F03EventActionMessenger: public G4UImessenger
{
public:
F03EventActionMessenger(F03EventAction*);
~F03EventActionMessenger();
~F03EventActionMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
F03EventAction* eventAction;
G4UIcmdWithAnInteger* setVerboseCmd;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
F03EventAction* fEventAction;
G4UIcmdWithAnInteger* fSetVerboseCmd;
G4UIcmdWithAnInteger* fPrintCmd;
};
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03FieldMessenger.hh
/// \brief Definition of the F03FieldMessenger class
//
// $Id: F03FieldMessenger.hh,v 1.4 2006-06-29 17:18:49 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -35,12 +35,11 @@
#ifndef F03FieldMessenger_h
#define F03FieldMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "globals.hh"
class F03FieldSetup;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithoutParameter;
@@ -50,25 +49,18 @@ class F03FieldMessenger: public G4UImessenger
{
public:
F03FieldMessenger(F03FieldSetup* );
~F03FieldMessenger();
~F03FieldMessenger();
void SetNewValue(G4UIcommand*, G4String);
void SetNewValue(G4UIcommand*, G4int);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
F03FieldSetup* fEMfieldSetup;
G4UIdirectory* F03detDir;
G4UIcmdWithAnInteger* StepperCmd;
G4UIcmdWithADoubleAndUnit* MagFieldCmd;
G4UIcmdWithADoubleAndUnit* MinStepCmd;
G4UIcmdWithoutParameter* UpdateCmd;
G4UIcmdWithAString* AbsMaterCmd;
G4UIdirectory* fFieldDir;
G4UIcmdWithAnInteger* fStepperCmd;
G4UIcmdWithADoubleAndUnit* fMagFieldCmd;
G4UIcmdWithADoubleAndUnit* fMinStepCmd;
G4UIcmdWithoutParameter* fUpdateCmd;
};
#endif
@@ -23,16 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03FieldSetup.hh
/// \brief Definition of the F03FieldSetup class
//
// $Id: F03FieldSetup.hh,v 1.2 2006-06-29 17:18:51 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// A class for setting up the Magnetic Field of the setup, and
// creating the necessary classes to control accuracy of propagation.
// In this example
// - There is a global field for most of the setup;
// - A local field overides it for some volume(s) and it assumed to be uniform.
//
#ifndef F03FieldSetup_H
#define F03FieldSetup_H
@@ -40,56 +35,64 @@
#include "G4MagneticField.hh"
#include "G4UniformMagField.hh"
class F03FieldMessenger;
class G4FieldManager;
class G4ChordFinder;
class G4Mag_UsualEqRhs;
class G4MagIntegratorStepper;
class F03FieldMessenger;
/// A class for setting up the Magnetic Field
///
/// It also creates the necessary classes to control accuracy of propagation.
/// In this example
/// - There is a global field for most of the setup;
/// - A local field overides it for some volume(s) and it assumed to be
/// uniform.
class F03FieldSetup
{
public:
F03FieldSetup() ; // A zero field
F03FieldSetup(G4ThreeVector) ; // The value of the field
~F03FieldSetup() ;
F03FieldSetup(); // A zero field
F03FieldSetup(G4ThreeVector); // The value of the field
~F03FieldSetup();
void SetStepperType( G4int i) { fStepperType = i ; }
void SetStepperType(G4int i) { fStepperType = i; }
void SetStepper();
void SetMinStep(G4double s) { fMinStep = s ; }
void SetMinStep(G4double s) { fMinStep = s; }
void UpdateField();
void SetFieldValue(G4ThreeVector fieldVector) ;
void SetFieldValue(G4double fieldValue) ;
void SetFieldValue(G4ThreeVector fieldVector);
void SetFieldValue(G4double fieldValue);
G4ThreeVector GetConstantFieldValue();
G4FieldManager* GetLocalFieldManager() { return fLocalFieldManager ;}
G4FieldManager* GetLocalFieldManager() { return fLocalFieldManager;}
protected:
G4FieldManager* GetGlobalFieldManager() ;
G4FieldManager* GetGlobalFieldManager();
// Returns the global Field Manager
G4FieldManager* fFieldManager ;
G4FieldManager* fLocalFieldManager ;
G4FieldManager* fFieldManager;
G4FieldManager* fLocalFieldManager;
G4ChordFinder* fChordFinder ;
G4ChordFinder* fLocalChordFinder ;
G4ChordFinder* fChordFinder;
G4ChordFinder* fLocalChordFinder;
G4Mag_UsualEqRhs* fEquation ;
G4Mag_UsualEqRhs* fLocalEquation ;
G4Mag_UsualEqRhs* fEquation;
G4Mag_UsualEqRhs* fLocalEquation;
G4MagneticField* fMagneticField ;
G4MagneticField* fLocalMagneticField ;
G4MagneticField* fMagneticField;
G4MagneticField* fLocalMagneticField;
G4MagIntegratorStepper* fStepper ;
G4MagIntegratorStepper* fLocalStepper ;
G4int fStepperType ;
G4MagIntegratorStepper* fStepper;
G4MagIntegratorStepper* fLocalStepper;
G4int fStepperType;
G4double fMinStep ;
G4double fMinStep;
F03FieldMessenger* fFieldMessenger;
@@ -23,9 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03PhysicsList.hh
/// \brief Definition of the F03PhysicsList class
//
// $Id: F03PhysicsList.hh,v 1.7 2010-04-08 14:12:20 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
#ifndef F03PhysicsList_h
@@ -23,9 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03PhysicsListMessenger.hh
/// \brief Definition of the F03PhysicsListMessenger class
//
// $Id: F03PhysicsListMessenger.hh,v 1.4 2006-06-29 17:18:56 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03PrimaryGeneratorAction.hh
/// \brief Definition of the F03PrimaryGeneratorAction class
//
// $Id: F03PrimaryGeneratorAction.hh,v 1.4 2006-06-29 17:18:59 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -38,10 +38,10 @@
#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
class G4ParticleGun;
class G4Event;
class F03DetectorConstruction;
class F03PrimaryGeneratorMessenger;
class G4ParticleGun;
class G4Event;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -49,28 +49,29 @@ class F03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
F03PrimaryGeneratorAction(F03DetectorConstruction*);
~F03PrimaryGeneratorAction();
~F03PrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event*);
void SetRndmFlag(G4String val) { rndmFlag = val;}
void Setxvertex(G4double x) ;
void Setyvertex(G4double y) ;
void Setzvertex(G4double z) ;
virtual void GeneratePrimaries(G4Event*);
void SetRndmFlag(G4String val) { fRndmFlag = val;}
void SetXVertex(G4double x);
void SetYVertex(G4double y);
void SetZVertex(G4double z);
static G4String GetPrimaryName() ;
static G4String GetPrimaryName();
private:
G4ParticleGun* particleGun; // pointer a to G4 service class
F03DetectorConstruction* F03Detector; // pointer to the geometry
F03PrimaryGeneratorMessenger* gunMessenger; // messenger of this class
G4String rndmFlag; // flag for random impact point
static G4String fgPrimaryParticleName;
static G4String thePrimaryParticleName ;
G4double xvertex,yvertex,zvertex;
G4bool vertexdefined ;
G4ParticleGun* fParticleGun; // pointer a to G4 service class
F03DetectorConstruction* fDetector; // pointer to the geometry
F03PrimaryGeneratorMessenger* fMessenger; // messenger of this class
G4String fRndmFlag; // flag for random impact point
G4double fXVertex, fYVertex, fZVertex;
G4bool fVertexDefined ;
};
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03PrimaryGeneratorMessenger.hh
/// \brief Definition of the F03PrimaryGeneratorMessenger class
//
// $Id: F03PrimaryGeneratorMessenger.hh,v 1.3 2006-06-29 17:19:01 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -48,17 +48,16 @@ class F03PrimaryGeneratorMessenger: public G4UImessenger
{
public:
F03PrimaryGeneratorMessenger(F03PrimaryGeneratorAction*);
~F03PrimaryGeneratorMessenger();
~F03PrimaryGeneratorMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
F03PrimaryGeneratorAction* F03Action;
G4UIcmdWithAString* RndmCmd;
G4UIcmdWithADoubleAndUnit* setxvertexCmd;
G4UIcmdWithADoubleAndUnit* setyvertexCmd;
G4UIcmdWithADoubleAndUnit* setzvertexCmd;
F03PrimaryGeneratorAction* fAction;
G4UIcmdWithAString* fRndmCmd;
G4UIcmdWithADoubleAndUnit* fSetXVertexCmd;
G4UIcmdWithADoubleAndUnit* fSetYVertexCmd;
G4UIcmdWithADoubleAndUnit* fSetZVertexCmd;
};
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03RunAction.hh
/// \brief Definition of the F03RunAction class
//
// $Id: F03RunAction.hh,v 1.6 2006-06-29 17:19:03 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -37,7 +37,6 @@
#include "G4UserRunAction.hh"
#include "globals.hh"
#include <iostream>
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -50,19 +49,19 @@ class F03RunAction : public G4UserRunAction
{
public:
F03RunAction();
~F03RunAction();
~F03RunAction();
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
void SetRndmFreq(G4int val) {saveRndm = val;}
G4int GetRndmFreq() {return saveRndm;}
void SetRndmFreq(G4int val) {fSaveRndm = val;}
G4int GetRndmFreq() const {return fSaveRndm;}
private:
F03RunMessenger* runMessenger;
G4int saveRndm;
F03RunMessenger* fRunMessenger;
G4int fSaveRndm;
};
#endif
@@ -23,11 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: F03RunMessenger.hh,v 1.4 2006-06-29 17:19:05 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file field/field03/include/F03RunMessenger.hh
/// \brief Definition of the F03RunMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -36,9 +35,9 @@
#ifndef F03RunMessenger_h
#define F03RunMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "G4ios.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -54,17 +53,16 @@ class F03RunMessenger : public G4UImessenger
public:
F03RunMessenger(F03RunAction* );
~F03RunMessenger();
~F03RunMessenger();
void SetNewValue(G4UIcommand* ,G4String );
virtual void SetNewValue(G4UIcommand* ,G4String );
private:
F03RunAction* runAction;
G4UIdirectory* RndmDir;
G4UIcmdWithAnInteger* RndmSaveCmd;
G4UIcmdWithAString* RndmReadCmd;
F03RunAction* fRunAction;
G4UIdirectory* fRndmDir;
G4UIcmdWithAnInteger* fRndmSaveCmd;
G4UIcmdWithAString* fRndmReadCmd;
};
@@ -23,59 +23,59 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03StepCut.hh
/// \brief Definition of the F03StepCut class
//
// $Id: F03StepCut.hh,v 1.5 2006-06-29 17:19:08 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
#ifndef F03StepCut_h
#define F03StepCut_h 1
#include "G4ios.hh"
#include "globals.hh"
#include "G4VDiscreteProcess.hh"
#include "G4Step.hh"
#include "G4ios.hh"
#include "globals.hh"
class F03StepCut : public G4VDiscreteProcess
{
public:
F03StepCut(const G4String& processName ="UserStepCut" );
F03StepCut(const G4String& processName ="UserStepCut");
F03StepCut(F03StepCut &);
~F03StepCut();
G4double PostStepGetPhysicalInteractionLength(
virtual G4double PostStepGetPhysicalInteractionLength(
const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition
);
G4VParticleChange* PostStepDoIt(
const G4Track& ,
const G4Step&
);
void SetMaxStep(G4double);
protected:
// it is not needed here !
G4double GetMeanFreePath(const G4Track& aTrack,
G4double previousStepSize,
G4ForceCondition* condition
);
virtual G4VParticleChange* PostStepDoIt(
const G4Track& ,
const G4Step&
);
void SetMaxStep(G4double);
protected:
// it is not needed here !
virtual G4double GetMeanFreePath(const G4Track& aTrack,
G4double previousStepSize,
G4ForceCondition* condition
);
private:
// hide assignment operator as private
F03StepCut & operator=(const F03StepCut &right);
// hide assignment operator as private
F03StepCut & operator=(const F03StepCut &right);
private:
G4double MaxChargedStep ;
G4double fMaxChargedStep ;
};
// inlined function members implementation
@@ -95,15 +95,15 @@ inline G4double F03StepCut::PostStepGetPhysicalInteractionLength(
// condition is set to "Not Forced"
*condition = NotForced;
G4double ProposedStep = DBL_MAX;
G4double proposedStep = DBL_MAX;
if((MaxChargedStep > 0.) &&
if((fMaxChargedStep > 0.) &&
(aTrack.GetVolume() != 0) &&
(aTrack.GetVolume()->GetName() == "Absorber") &&
(aTrack.GetDynamicParticle()->GetDefinition()->GetPDGCharge() != 0.))
ProposedStep = MaxChargedStep ;
proposedStep = fMaxChargedStep ;
return ProposedStep;
return proposedStep;
}
inline G4VParticleChange* F03StepCut::PostStepDoIt(
@@ -124,4 +124,3 @@ inline G4double F03StepCut::GetMeanFreePath(const G4Track&,
}
#endif
@@ -1,62 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: F03SteppingAction.hh,v 1.5 2006-06-29 17:19:11 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef F03SteppingAction_h
#define F03SteppingAction_h 1
#include "G4UserSteppingAction.hh"
#include "G4Event.hh"
#include "G4EventManager.hh"
#include "G4ios.hh"
#include "globals.hh"
class F03SteppingMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class F03SteppingAction : public G4UserSteppingAction
{
public:
F03SteppingAction();
~F03SteppingAction();
void UserSteppingAction(const G4Step*);
private:
F03SteppingMessenger* steppingMessenger;
};
#endif
@@ -1,66 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: F03SteppingMessenger.hh,v 1.3 2006-06-29 17:19:13 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef F03SteppingMessenger_h
#define F03SteppingMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class F03SteppingAction;
class G4UIdirectory;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class F03SteppingMessenger: public G4UImessenger
{
public:
F03SteppingMessenger(F03SteppingAction* );
~F03SteppingMessenger();
void SetNewValue(G4UIcommand* ,G4String );
private:
F03SteppingAction* steppingAction;
G4UIdirectory* steppingDir;
};
#endif
@@ -23,41 +23,34 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03SteppingVerbose.hh
/// \brief Definition of the F03SteppingVerbose class
//
// $Id: F03SteppingVerbose.hh,v 1.4 2006-06-29 17:19:15 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
//---------------------------------------------------------------
//
// F03SteppingVerbose.hh
//
// Description:
// This class manages the vervose outputs in G4SteppingManager.
//
//
// Contact:
// Questions and comments to this code should be sent to
// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
//
//---------------------------------------------------------------
#ifndef F03SteppingVerbose_h
#define F03SteppingVerbose_h 1
#include "G4SteppingVerbose.hh"
/// This class manages the vervose outputs in G4SteppingManager.
///
/// Contact: \n
/// Questions and comments to this code should be sent to
/// - Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
/// - Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
class F03SteppingVerbose : public G4SteppingVerbose
{
public:
F03SteppingVerbose();
~F03SteppingVerbose();
~F03SteppingVerbose();
// Constructor, Destructor
void StepInfo();
void TrackingStarted();
virtual void StepInfo();
virtual void TrackingStarted();
};