Import Geant4 10.4.0 source tree
This commit is contained in:
+17
-20
@@ -25,37 +25,33 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/// \file ExG4DetectorConstruction02.hh
|
||||
/// \brief Definition of the ExG4DetectorConstruction02 class
|
||||
/// \file DetectorConstruction.hh
|
||||
/// \brief Definition of the DetectorConstruction class
|
||||
|
||||
#ifndef ExG4DetectorConstruction02_h
|
||||
#define ExG4DetectorConstruction02_h 1
|
||||
#ifndef DetectorConstruction_h
|
||||
#define DetectorConstruction_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
|
||||
#include "ExG4DetectorConstruction02Messenger.hh"
|
||||
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
#include "CLHEP/Units/SystemOfUnits.h"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4Material;
|
||||
class DetectorMessenger;
|
||||
class G4GenericMessenger;
|
||||
|
||||
/// Simple detector construction with a box volume placed in a world
|
||||
|
||||
class ExG4DetectorConstruction02 : public G4VUserDetectorConstruction
|
||||
class DetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
ExG4DetectorConstruction02(
|
||||
DetectorConstruction(
|
||||
const G4String& boxMaterialName = "G4_AIR",
|
||||
G4double boxHx = 40*CLHEP::cm,
|
||||
G4double boxHy = 40*CLHEP::cm,
|
||||
G4double boxHz = 40*CLHEP::cm,
|
||||
const G4String& worldMaterialName = "G4_AIR",
|
||||
G4double worldSizeFactor = 1.25);
|
||||
~ExG4DetectorConstruction02();
|
||||
~DetectorConstruction();
|
||||
|
||||
public:
|
||||
// methods from base class
|
||||
@@ -64,18 +60,19 @@ class ExG4DetectorConstruction02 : public G4VUserDetectorConstruction
|
||||
// set methods
|
||||
void SetBoxMaterial(const G4String& materialName);
|
||||
void SetWorldMaterial(const G4String& materialName);
|
||||
void SetBoxDimensions(G4double hx, G4double hy, G4double hz);
|
||||
void SetBoxDimensions(G4ThreeVector dimensions);
|
||||
void SetWorldSizeFactor(G4double factor);
|
||||
|
||||
private:
|
||||
ExG4DetectorConstruction02Messenger fMessenger;
|
||||
void DefineCommands();
|
||||
|
||||
G4String fBoxMaterialName;
|
||||
G4String fWorldMaterialName;
|
||||
G4ThreeVector fBoxDimensions;
|
||||
G4double fWorldSizeFactor;
|
||||
G4LogicalVolume* fBoxVolume;
|
||||
G4LogicalVolume* fWorldVolume;
|
||||
G4GenericMessenger* fMessenger;
|
||||
G4String fBoxMaterialName;
|
||||
G4String fWorldMaterialName;
|
||||
G4ThreeVector fBoxDimensions;
|
||||
G4double fWorldSizeFactor;
|
||||
G4LogicalVolume* fBoxVolume;
|
||||
G4LogicalVolume* fWorldVolume;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
+14
-17
@@ -25,35 +25,31 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/// \file ExG4DetectorConstruction01.hh
|
||||
/// \brief Definition of the ExG4DetectorConstruction01 class
|
||||
/// \file DetectorConstruction0.hh
|
||||
/// \brief Definition of the DetectorConstruction0 class
|
||||
|
||||
#ifndef ExG4DetectorConstruction01_h
|
||||
#define ExG4DetectorConstruction01_h 1
|
||||
#ifndef DetectorConstruction0_h
|
||||
#define DetectorConstruction0_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
|
||||
#include "ExG4DetectorConstruction01Messenger.hh"
|
||||
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
#include "CLHEP/Units/SystemOfUnits.h"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4Material;
|
||||
class DetectorMessenger;
|
||||
class G4GenericMessenger;
|
||||
|
||||
/// Simple detector construction with only a world volume
|
||||
|
||||
class ExG4DetectorConstruction01 : public G4VUserDetectorConstruction
|
||||
class DetectorConstruction0 : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
ExG4DetectorConstruction01(
|
||||
DetectorConstruction0(
|
||||
const G4String& materialName = "G4_AIR",
|
||||
G4double hx = 50*CLHEP::cm,
|
||||
G4double hy = 50*CLHEP::cm,
|
||||
G4double hz = 50*CLHEP::cm);
|
||||
~ExG4DetectorConstruction01();
|
||||
~DetectorConstruction0();
|
||||
|
||||
public:
|
||||
// methods from base class
|
||||
@@ -61,14 +57,15 @@ class ExG4DetectorConstruction01 : public G4VUserDetectorConstruction
|
||||
|
||||
// set methods
|
||||
void SetMaterial(const G4String& materialName);
|
||||
void SetDimensions(G4double hx, G4double hy, G4double hz);
|
||||
void SetDimensions(G4ThreeVector dimensions);
|
||||
|
||||
private:
|
||||
ExG4DetectorConstruction01Messenger fMessenger;
|
||||
void DefineCommands();
|
||||
|
||||
G4String fMaterialName;
|
||||
G4ThreeVector fDimensions;
|
||||
G4LogicalVolume* fWorldVolume;
|
||||
G4GenericMessenger* fMessenger;
|
||||
G4String fMaterialName;
|
||||
G4ThreeVector fDimensions;
|
||||
G4LogicalVolume* fWorldVolume;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -1,70 +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: ExG4DetectorConstruction01Messenger.hh 85714 2014-11-04 14:30:40Z ihrivnac $
|
||||
//
|
||||
/// \file ExG4DetectorConstruction01Messenger.hh
|
||||
/// \brief Definition of the ExG4DetectorConstruction01Messenger class
|
||||
|
||||
#ifndef ExG4DetectorConstruction01Messenger_h
|
||||
#define ExG4DetectorConstruction01Messenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class ExG4DetectorConstruction01;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWith3VectorAndUnit;
|
||||
class G4UIcmdWithADouble;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
/// Messenger class that defines commands for ExG4DetectorConstruction01.
|
||||
///
|
||||
/// It implements commands:
|
||||
/// - /ExG4/det/setMaterialName name
|
||||
/// - /ExG4/det/setDimensions hx hy hz unit
|
||||
|
||||
class ExG4DetectorConstruction01Messenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
ExG4DetectorConstruction01Messenger(ExG4DetectorConstruction01* );
|
||||
virtual ~ExG4DetectorConstruction01Messenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
|
||||
|
||||
private:
|
||||
ExG4DetectorConstruction01* fDetectorConstruction;
|
||||
G4UIdirectory* fTopDirectory;
|
||||
G4UIdirectory* fDirectory;
|
||||
G4UIcmdWithAString* fSetMaterialCmd;
|
||||
G4UIcmdWith3VectorAndUnit* fSetDimensionsCmd;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,74 +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: ExG4DetectorConstruction02Messenger.hh 85714 2014-11-04 14:30:40Z ihrivnac $
|
||||
//
|
||||
/// \file ExG4DetectorConstruction02Messenger.hh
|
||||
/// \brief Definition of the ExG4DetectorConstruction02Messenger class
|
||||
|
||||
#ifndef ExG4DetectorConstruction02Messenger_h
|
||||
#define ExG4DetectorConstruction02Messenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class ExG4DetectorConstruction02;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWith3VectorAndUnit;
|
||||
class G4UIcmdWithADouble;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
/// Messenger class that defines commands for ExG4DetectorConstruction02.
|
||||
///
|
||||
/// It implements commands:
|
||||
/// - /ExG4/det/setBoxMaterialName name
|
||||
/// - /ExG4/det/setWorldMaterialName name
|
||||
/// - /ExG4/det/setBoxDimensions hx hy hz unit
|
||||
/// - /ExG4/det/setWorldSizeFactor value
|
||||
|
||||
class ExG4DetectorConstruction02Messenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
ExG4DetectorConstruction02Messenger(ExG4DetectorConstruction02* );
|
||||
virtual ~ExG4DetectorConstruction02Messenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
|
||||
|
||||
private:
|
||||
ExG4DetectorConstruction02* fDetectorConstruction;
|
||||
G4UIdirectory* fTopDirectory;
|
||||
G4UIdirectory* fDirectory;
|
||||
G4UIcmdWithAString* fSetBoxMaterialCmd;
|
||||
G4UIcmdWithAString* fSetWorldMaterialCmd;
|
||||
G4UIcmdWith3VectorAndUnit* fSetBoxDimensionsCmd;
|
||||
G4UIcmdWithADouble* fSetWorldSizeFactorCmd;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,82 +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$
|
||||
//
|
||||
/// \file ExG4EventAction01.hh
|
||||
/// \brief Definition of the ExG4EventAction01 class
|
||||
|
||||
#ifndef ExG4EventAction01_h
|
||||
#define ExG4EventAction01_h 1
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include "ExG4EventAction01Messenger.hh"
|
||||
|
||||
/// Event action class
|
||||
///
|
||||
/// It provides:
|
||||
/// - setting verbose level and event modulo pronting
|
||||
/// - option to save random number status at the end of event
|
||||
|
||||
class ExG4EventAction01 : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
ExG4EventAction01();
|
||||
virtual ~ExG4EventAction01();
|
||||
|
||||
public:
|
||||
// methods from base class
|
||||
virtual void BeginOfEventAction(const G4Event* event);
|
||||
virtual void EndOfEventAction(const G4Event* event);
|
||||
|
||||
// set methods
|
||||
void SetVerboseLevel(G4int level);
|
||||
void SetSaveRndm(G4bool value);
|
||||
void SetDrawFlag(G4String value);
|
||||
|
||||
private:
|
||||
// static data members (constants)
|
||||
static const G4int fgkDefaultVerboseLevel;
|
||||
static const G4int fgkDefaultPrintModulo;
|
||||
|
||||
// data members
|
||||
ExG4EventAction01Messenger fMessenger;
|
||||
G4int fVerboseLevel;
|
||||
G4bool fSaveRndm;
|
||||
};
|
||||
|
||||
// inline functions
|
||||
|
||||
inline void ExG4EventAction01::SetVerboseLevel(G4int level) {
|
||||
fVerboseLevel = level;
|
||||
}
|
||||
|
||||
inline void ExG4EventAction01::SetSaveRndm(G4bool value) {
|
||||
fSaveRndm = value;
|
||||
}
|
||||
|
||||
#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$
|
||||
//
|
||||
/// \file ExG4EventAction01Messenger.hh
|
||||
/// \brief Definition of the ExG4EventAction01Messenger class
|
||||
|
||||
#ifndef ExG4EventAction01Messenger_h
|
||||
#define ExG4EventAction01Messenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class ExG4EventAction01;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithABool;
|
||||
|
||||
/// Messenger class that defines commands for ExG4EventAction01
|
||||
///
|
||||
/// It implements commands:
|
||||
/// - /ExG4/event/verboseLevel level
|
||||
/// - /ExG4/event/printModulo modulo
|
||||
/// - /ExG4/event/saveRndm true|false
|
||||
|
||||
class ExG4EventAction01Messenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
ExG4EventAction01Messenger(ExG4EventAction01* eventAction);
|
||||
~ExG4EventAction01Messenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
|
||||
|
||||
private:
|
||||
// data members
|
||||
ExG4EventAction01* fEventAction;
|
||||
G4UIdirectory* fTopDirectory;
|
||||
G4UIdirectory* fDirectory;
|
||||
G4UIcmdWithAnInteger* fSetVerboseLevelCmd;
|
||||
G4UIcmdWithABool* fSetSaveRndmCmd;
|
||||
};
|
||||
|
||||
#endif //ExG4EventAction01Messenger_h
|
||||
@@ -1,101 +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$
|
||||
//
|
||||
/// \file ExG4RunAction01.hh
|
||||
/// \brief Definition of the ExG4RunAction01 class
|
||||
|
||||
#ifndef ExG4RunAction01_h
|
||||
#define ExG4RunAction01_h 1
|
||||
|
||||
#include "ExG4RunAction01Messenger.hh"
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Run;
|
||||
|
||||
/// Run action class
|
||||
///
|
||||
/// It provides:
|
||||
/// - setting verbose level
|
||||
/// - option to save random number status at begin and end of run
|
||||
/// - option to read random number from a file at begin of run
|
||||
/// - option for automatic (time-based) random seeds for each run
|
||||
|
||||
class ExG4RunAction01 : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
ExG4RunAction01();
|
||||
~ExG4RunAction01();
|
||||
|
||||
public:
|
||||
// methods
|
||||
virtual void BeginOfRunAction(const G4Run* run);
|
||||
virtual void EndOfRunAction(const G4Run* run);
|
||||
|
||||
// set methods
|
||||
void SetRndmFileName(const G4String& fileName);
|
||||
void SetVerboseLevel(G4int level);
|
||||
void SetSaveRndm(G4bool value);
|
||||
void SetReadRndm(G4bool value);
|
||||
void SetAutoSeed(G4bool value);
|
||||
|
||||
private:
|
||||
// static data members
|
||||
static const G4String fgkDefaultRndmFileName;
|
||||
|
||||
// data members
|
||||
ExG4RunAction01Messenger fMessenger;
|
||||
G4String fRndmFileName;
|
||||
G4int fVerboseLevel;
|
||||
G4bool fSaveRndm;
|
||||
G4bool fReadRndm;
|
||||
G4bool fAutoSeed;
|
||||
};
|
||||
// inline functions
|
||||
|
||||
inline void ExG4RunAction01::SetVerboseLevel(G4int level) {
|
||||
fVerboseLevel = level;
|
||||
}
|
||||
|
||||
inline void ExG4RunAction01::SetRndmFileName(const G4String& fileName) {
|
||||
fRndmFileName = fileName;
|
||||
}
|
||||
|
||||
inline void ExG4RunAction01::SetSaveRndm(G4bool value) {
|
||||
fSaveRndm = value;
|
||||
}
|
||||
|
||||
inline void ExG4RunAction01::SetReadRndm(G4bool value) {
|
||||
fReadRndm = value;
|
||||
}
|
||||
|
||||
inline void ExG4RunAction01::SetAutoSeed(G4bool value) {
|
||||
fAutoSeed = value;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -1,75 +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$
|
||||
//
|
||||
/// \file ExG4RunAction01Messenger.hh
|
||||
/// \brief Definition of the ExG4RunAction01Messenger class
|
||||
|
||||
#ifndef ExG4RunAction01Messenger_h
|
||||
#define ExG4RunAction01Messenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
class ExG4RunAction01;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithAString;
|
||||
|
||||
/// Messenger class that defines commands for ExG4RunAction01
|
||||
///
|
||||
/// It implements commands:
|
||||
/// - /ExG4/run/verboseLevel level
|
||||
/// - /ExG4/run/saveRndm true|false
|
||||
/// - /ExG4/run/readRndm true|false
|
||||
/// - /ExG4/run/rndmFileName fileName
|
||||
/// - /ExG4/run/autoSeed true|false
|
||||
|
||||
class ExG4RunAction01Messenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
|
||||
ExG4RunAction01Messenger(ExG4RunAction01* );
|
||||
~ExG4RunAction01Messenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
|
||||
|
||||
private:
|
||||
ExG4RunAction01* fRunAction;
|
||||
|
||||
G4UIdirectory* fTopDirectory;
|
||||
G4UIdirectory* fDirectory;
|
||||
G4UIcmdWithAnInteger* fSetVerboseLevelCmd;
|
||||
G4UIcmdWithABool* fSetSaveRndmCmd;
|
||||
G4UIcmdWithABool* fSetReadRndmCmd;
|
||||
G4UIcmdWithAString* fSetRndmFileNameCmd;
|
||||
G4UIcmdWithABool* fSetAutoSeedCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+7
-7
@@ -25,21 +25,21 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/// \file ExG4PhysicsList00.hh
|
||||
/// \brief Definition of the ExG4PhysicsList00 class
|
||||
/// \file GeantinoPhysicsList.hh
|
||||
/// \brief Definition of the GeantinoPhysicsList class
|
||||
|
||||
#ifndef ExG4PhysicsList00_h
|
||||
#define ExG4PhysicsList00_h 1
|
||||
#ifndef GeantinoPhysicsList_h
|
||||
#define GeantinoPhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
|
||||
/// Physics list with geantino and charged geantino only
|
||||
|
||||
class ExG4PhysicsList00: public G4VUserPhysicsList
|
||||
class GeantinoPhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
ExG4PhysicsList00();
|
||||
~ExG4PhysicsList00();
|
||||
GeantinoPhysicsList();
|
||||
~GeantinoPhysicsList();
|
||||
|
||||
protected:
|
||||
// Construct particle and physics process
|
||||
+8
-11
@@ -25,15 +25,12 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/// \file ExG4PrimaryGeneratorAction02.hh
|
||||
/// \brief Definition of the ExG4PrimaryGeneratorAction02 class
|
||||
/// \file GpsPrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the GpsPrimaryGeneratorActionclass
|
||||
//
|
||||
|
||||
#ifndef ExG4PrimaryGeneratorAction02_h
|
||||
#define ExG4PrimaryGeneratorAction02_h 1
|
||||
|
||||
/// \file ExG4PrimaryGeneratorAction02.hh
|
||||
/// \brief Definition of the ExG4PrimaryGeneratorAction02 class
|
||||
#ifndef GpsPrimaryGeneratorAction_h
|
||||
#define GpsPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
@@ -46,11 +43,11 @@ class G4Event;
|
||||
///
|
||||
/// \author I. Hrivnacova; IPN Orsay
|
||||
|
||||
class ExG4PrimaryGeneratorAction02 : public G4VUserPrimaryGeneratorAction
|
||||
class GpsPrimaryGeneratorAction: public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
ExG4PrimaryGeneratorAction02();
|
||||
~ExG4PrimaryGeneratorAction02();
|
||||
GpsPrimaryGeneratorAction();
|
||||
~GpsPrimaryGeneratorAction();
|
||||
|
||||
// methods
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
@@ -61,7 +58,7 @@ class ExG4PrimaryGeneratorAction02 : public G4VUserPrimaryGeneratorAction
|
||||
static const G4double fgkDefaultEnergy;
|
||||
|
||||
// data members
|
||||
G4GeneralParticleSource* fGeneralParticleSource; //pointer a to G4 service class
|
||||
G4GeneralParticleSource* fGeneralParticleSource;
|
||||
};
|
||||
|
||||
#endif
|
||||
+8
-9
@@ -25,11 +25,11 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/// \file ExG4PrimaryGeneratorAction01.hh
|
||||
/// \brief Definition of the ExG4PrimaryGeneratorAction01 class
|
||||
/// \file GunPrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the GunPrimaryGeneratorAction class
|
||||
|
||||
#ifndef ExG4PrimaryGeneratorAction01_h
|
||||
#define ExG4PrimaryGeneratorAction01_h 1
|
||||
#ifndef GunPrimaryGeneratorAction_h
|
||||
#define GunPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
@@ -45,23 +45,22 @@ class G4Event;
|
||||
///
|
||||
/// \author I. Hrivnacova; IPN Orsay
|
||||
|
||||
class ExG4PrimaryGeneratorAction01 : public G4VUserPrimaryGeneratorAction
|
||||
class GunPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
ExG4PrimaryGeneratorAction01(
|
||||
GunPrimaryGeneratorAction(
|
||||
const G4String& particleName = "geantino",
|
||||
G4double energy = 1.*CLHEP::MeV,
|
||||
G4ThreeVector position= G4ThreeVector(0,0,0),
|
||||
G4ThreeVector momentumDirection = G4ThreeVector(0,0,1));
|
||||
~ExG4PrimaryGeneratorAction01();
|
||||
~GunPrimaryGeneratorAction();
|
||||
|
||||
// methods
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
|
||||
private:
|
||||
// data members
|
||||
G4ParticleGun* fParticleGun; //pointer a to G4 service class
|
||||
G4ParticleGun* fParticleGun;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user