Import Geant4 3.0.0 source tree
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelAnalysisManager.hh,v 1.1 2000/12/06 16:53:12 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelAnalysisManager ------
|
||||
// by R.Giannitrapani, F. Longo & G.Santin (30 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#ifndef GammaRayTelAnalysisManager_h
|
||||
#define GammaRayTelAnalysisManager_h 1
|
||||
|
||||
#include "G4VAnalysisManager.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "g4std/vector"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class GammaRayTelAnalysisMessenger;
|
||||
class GammaRayTelDetectorConstruction;
|
||||
class IHistogramFactory;
|
||||
class IHistogram1D;
|
||||
class IHistogram2D;
|
||||
class IPlotter;
|
||||
class IVectorFactory;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelAnalysisManager: public G4VAnalysisManager
|
||||
{
|
||||
public:
|
||||
GammaRayTelAnalysisManager(GammaRayTelDetectorConstruction*);
|
||||
virtual ~GammaRayTelAnalysisManager();
|
||||
|
||||
public:
|
||||
G4bool RegisterAnalysisSystem(G4VAnalysisSystem*);
|
||||
IHistogramFactory* GetHistogramFactory(const G4String&);
|
||||
void Store(IHistogram* = 0, const G4String& = "");
|
||||
void Plot(IHistogram* = 0);
|
||||
void InsertPositionXZ(double x, double z);
|
||||
void InsertPositionYZ(double y, double z);
|
||||
void InsertEnergy(double en);
|
||||
void InsertHits(int nplane);
|
||||
void BeginOfRun();
|
||||
void EndOfRun(G4int n);
|
||||
void EndOfEvent(G4int flag);
|
||||
|
||||
void SetHisto1DDraw(G4String str) {histo1DDraw = str;};
|
||||
void SetHisto1DSave(G4String str) {histo1DSave = str;};
|
||||
void SetHisto2DDraw(G4String str) {histo2DDraw = str;};
|
||||
void SetHisto2DSave(G4String str) {histo2DSave = str;};
|
||||
void SetHisto2DMode(G4String str) {histo2DMode = str;};
|
||||
|
||||
G4String GetHisto2DMode() {return histo2DMode;};
|
||||
|
||||
private:
|
||||
G4VAnalysisSystem* analysisSystem;
|
||||
IPlotter* pl;
|
||||
IVectorFactory* fVectorFactory;
|
||||
IHistogramFactory* histoFactory;
|
||||
|
||||
IHistogram1D* energy;
|
||||
IHistogram1D* hits;
|
||||
IHistogram2D* posXZ;
|
||||
IHistogram2D* posYZ;
|
||||
|
||||
GammaRayTelDetectorConstruction* GammaRayTelDetector;
|
||||
|
||||
G4String histo1DDraw;
|
||||
G4String histo1DSave;
|
||||
G4String histo2DDraw;
|
||||
G4String histo2DSave;
|
||||
G4String histo2DMode;
|
||||
|
||||
GammaRayTelAnalysisMessenger* analysisMessenger;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelAnalysisMessenger.hh,v 1.1 2000/12/06 16:53:13 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelAnalysysMessenger ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (03 dec 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#ifndef GammaRayTelAnalysisMessenger_h
|
||||
#define GammaRayTelAnalysisMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class GammaRayTelAnalysisManager;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelAnalysisMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
GammaRayTelAnalysisMessenger(GammaRayTelAnalysisManager* );
|
||||
~GammaRayTelAnalysisMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
GammaRayTelAnalysisManager* GammaRayTelAnalysis;
|
||||
G4UIdirectory* GammaRayTelAnalysisDir;
|
||||
|
||||
G4UIcmdWithAString* Histo1DDrawCmd;
|
||||
G4UIcmdWithAString* Histo2DDrawCmd;
|
||||
G4UIcmdWithAString* Histo1DSaveCmd;
|
||||
G4UIcmdWithAString* Histo2DSaveCmd;
|
||||
G4UIcmdWithAString* Histo2DModeCmd;
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,288 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelDetectorConstruction.hh,v 1.4 2000/12/06 16:53:13 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelDetectorConstruction ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#ifndef GammaRayTelDetectorConstruction_h
|
||||
#define GammaRayTelDetectorConstruction_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Box;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class G4UniformMagField;
|
||||
class GammaRayTelDetectorMessenger;
|
||||
class GammaRayTelPayloadSD;
|
||||
class GammaRayTelPayloadROGeometry;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
|
||||
GammaRayTelDetectorConstruction();
|
||||
~GammaRayTelDetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
void SetNbOfTKRLayers (G4int); // TKR number of layers, material, detector
|
||||
void SetTKRTileSizeXY (G4double);
|
||||
void SetNbOfTKRTiles (G4int);
|
||||
void SetTKRSiliconThickness(G4double);
|
||||
void SetTKRSiliconPitch(G4double);
|
||||
|
||||
void SetTKRLayerDistance (G4double);
|
||||
void SetTKRViewsDistance (G4double);
|
||||
|
||||
void SetConverterMaterial (G4String); // TKR Converter material & thickness
|
||||
void SetConverterThickness(G4double);
|
||||
|
||||
void SetNbOfCALLayers (G4int); // CAL material, lenght, thickness
|
||||
void SetNbOfCALBars (G4int);
|
||||
void SetCALBarThickness(G4double);
|
||||
|
||||
void SetACDThickness (G4double); //ACD Thickness
|
||||
|
||||
void SetMagField(G4double); // Magnetic Field
|
||||
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
void UpdateGeometry();
|
||||
|
||||
public:
|
||||
|
||||
void PrintPayloadParameters();
|
||||
|
||||
|
||||
G4double GetWorldSizeZ() {return WorldSizeZ;};
|
||||
G4double GetWorldSizeXY() {return WorldSizeXY;};
|
||||
|
||||
G4double GetPayloadSizeZ() {return PayloadSizeZ;};
|
||||
G4double GetPayloadSizeXY() {return PayloadSizeXY;};
|
||||
|
||||
G4double GetTKRSizeZ() {return TKRSizeZ;};
|
||||
G4double GetTKRSizeXY() {return TKRSizeXY;};
|
||||
|
||||
G4double GetCALSizeZ() {return CALSizeZ;};
|
||||
G4double GetCALTKRDistance() {return CALTKRDistance;};
|
||||
|
||||
G4double GetTKRSiliconThickness() {return TKRSiliconThickness;};
|
||||
G4double GetTKRSiliconTileXY() {return TKRSiliconTileXY;};
|
||||
G4double GetTKRSiliconPitch() {return TKRSiliconPitch;};
|
||||
G4int GetNbOfTKRLayers() {return NbOfTKRLayers;};
|
||||
G4int GetNbOfTKRTiles() {return NbOfTKRTiles;};
|
||||
G4int GetNbOfTKRStrips() {return NbOfTKRStrips;};
|
||||
G4double GetTKRLayerDistance() {return TKRLayerDistance;};
|
||||
G4double GetTKRViewsDistance() {return TKRViewsDistance;};
|
||||
|
||||
G4double GetTKRActiveTileXY() {return TKRActiveTileXY;};
|
||||
G4double GetTKRActiveTileZ() {return TKRActiveTileZ;};
|
||||
G4double GetSiliconGuardRing() {return SiliconGuardRing;}
|
||||
G4double GetTilesSeparation() {return TilesSeparation;};
|
||||
|
||||
G4Material* GetConverterMaterial() {return ConverterMaterial;};
|
||||
G4double GetConverterThickness() {return ConverterThickness;};
|
||||
|
||||
G4double GetCALBarThickness() {return CALBarThickness;};
|
||||
G4int GetNbOfCALLayers() {return NbOfCALLayers;};
|
||||
G4int GetNbOfCALBars() {return NbOfCALBars;};
|
||||
|
||||
G4double GetACDThickness() {return ACDThickness;};
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4Material* ConverterMaterial;
|
||||
G4double ConverterThickness;
|
||||
|
||||
G4double TKRSiliconThickness;
|
||||
G4double TKRSiliconTileXY;
|
||||
G4double TKRSiliconPitch;
|
||||
|
||||
G4double TKRSizeXY;
|
||||
G4double TKRSizeZ;
|
||||
|
||||
G4double TKRLayerDistance;
|
||||
G4double TKRViewsDistance;
|
||||
G4double TKRSupportThickness;
|
||||
|
||||
G4int NbOfTKRLayers;
|
||||
G4int NbOfTKRTiles;
|
||||
|
||||
G4double CALBarThickness;
|
||||
G4int NbOfCALLayers;
|
||||
G4int NbOfCALBars;
|
||||
G4double CALSizeXY;
|
||||
G4double CALSizeZ;
|
||||
|
||||
G4double ACDThickness;
|
||||
G4double ACTSizeXY;
|
||||
G4double ACTSizeZ;
|
||||
|
||||
G4double ACL1SizeX;
|
||||
G4double ACL1SizeY;
|
||||
G4double ACL1SizeZ;
|
||||
|
||||
G4double ACL2SizeX;
|
||||
G4double ACL2SizeY;
|
||||
G4double ACL2SizeZ;
|
||||
|
||||
G4double TilesSeparation;
|
||||
G4double ACDTKRDistance;
|
||||
G4double CALTKRDistance;
|
||||
G4double TKRActiveTileXY;
|
||||
G4double TKRActiveTileZ;
|
||||
|
||||
G4double SiliconGuardRing;
|
||||
G4int NbOfTKRStrips;
|
||||
|
||||
G4double TKRXStripX;
|
||||
G4double TKRYStripX;
|
||||
G4double TKRXStripY;
|
||||
G4double TKRYStripY;
|
||||
G4double TKRZStrip;
|
||||
|
||||
G4double PayloadSizeZ;
|
||||
G4double PayloadSizeXY;
|
||||
|
||||
G4Material* defaultMaterial;
|
||||
G4Material* CALMaterial;
|
||||
G4Material* TKRMaterial;
|
||||
G4Material* ACDMaterial;
|
||||
G4double WorldSizeXY;
|
||||
G4double WorldSizeZ;
|
||||
|
||||
G4Box* solidWorld; // World
|
||||
G4LogicalVolume* logicWorld;
|
||||
G4VPhysicalVolume* physiWorld;
|
||||
|
||||
G4Box* solidPayload; // Payload
|
||||
G4LogicalVolume* logicPayload;
|
||||
G4VPhysicalVolume* physiPayload;
|
||||
|
||||
G4Box* solidTKR; // Tracker
|
||||
G4LogicalVolume* logicTKR;
|
||||
G4VPhysicalVolume* physiTKR;
|
||||
|
||||
G4Box* solidCAL; // Calorimeter
|
||||
G4LogicalVolume* logicCAL;
|
||||
G4VPhysicalVolume* physiCAL;
|
||||
|
||||
G4Box* solidACT; // Top Anticoincidence
|
||||
G4LogicalVolume* logicACT;
|
||||
G4VPhysicalVolume* physiACT;
|
||||
|
||||
G4Box* solidACL1; // Lateral Anticoincidence
|
||||
G4LogicalVolume* logicACL1;
|
||||
G4VPhysicalVolume* physiACL1;
|
||||
|
||||
G4Box* solidACL2;
|
||||
G4LogicalVolume* logicACL2;
|
||||
G4VPhysicalVolume* physiACL2;
|
||||
|
||||
G4Box* solidTKRDetectorX; // Tracker PLANE X
|
||||
G4LogicalVolume* logicTKRDetectorX;
|
||||
G4VPhysicalVolume* physiTKRDetectorX;
|
||||
|
||||
G4Box* solidTKRDetectorY; // Tracker PLANE Y
|
||||
G4LogicalVolume* logicTKRDetectorY;
|
||||
G4VPhysicalVolume* physiTKRDetectorY;
|
||||
|
||||
G4Box* solidCALDetector; // Calorimeter PLANE
|
||||
G4LogicalVolume* logicCALDetector;
|
||||
|
||||
G4VPhysicalVolume* physiCALDetectorX;
|
||||
G4VPhysicalVolume* physiCALDetectorY;
|
||||
|
||||
G4Box* solidPlane; // Support Plane
|
||||
G4LogicalVolume* logicPlane;
|
||||
G4VPhysicalVolume* physiPlane;
|
||||
|
||||
G4Box* solidConverter; // Converter
|
||||
G4LogicalVolume* logicConverter;
|
||||
G4VPhysicalVolume* physiConverter;
|
||||
|
||||
G4UniformMagField* magField; //pointer to the magnetic field
|
||||
|
||||
GammaRayTelDetectorMessenger* detectorMessenger; //pointer to the Messenger
|
||||
GammaRayTelPayloadSD* payloadSD; //pointer to the sensitive detector
|
||||
|
||||
private:
|
||||
|
||||
void DefineMaterials();
|
||||
void ComputePayloadParameters();
|
||||
G4VPhysicalVolume* ConstructPayload();
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void GammaRayTelDetectorConstruction::ComputePayloadParameters()
|
||||
{
|
||||
// Compute derived parameters of the payload
|
||||
|
||||
TKRSupportThickness =TKRLayerDistance -2.*TKRSiliconThickness
|
||||
- TKRViewsDistance;
|
||||
TKRSizeXY = NbOfTKRTiles*TKRSiliconTileXY + (NbOfTKRTiles+1)*TilesSeparation;
|
||||
TKRSizeZ = NbOfTKRLayers*TKRLayerDistance;
|
||||
|
||||
TKRActiveTileXY = TKRSiliconTileXY - 2*SiliconGuardRing;
|
||||
TKRActiveTileZ = TKRSiliconThickness;
|
||||
NbOfTKRStrips = G4int(TKRActiveTileXY/TKRSiliconPitch);
|
||||
|
||||
SiliconGuardRing = TKRActiveTileXY - NbOfTKRStrips*TKRSiliconPitch;
|
||||
TKRActiveTileXY = TKRSiliconTileXY - 2*SiliconGuardRing;
|
||||
|
||||
TKRXStripX = TKRYStripY = TKRSiliconPitch;
|
||||
TKRYStripX = TKRXStripY = TKRActiveTileXY;
|
||||
TKRZStrip = TKRSiliconThickness;
|
||||
|
||||
CALSizeXY = TKRSizeXY;
|
||||
CALSizeZ = 2.*NbOfCALLayers*CALBarThickness;
|
||||
|
||||
ACTSizeXY = TKRSizeXY + 2*ACDTKRDistance + 2*ACDThickness;
|
||||
ACTSizeZ = ACDThickness;
|
||||
|
||||
ACL1SizeX = TKRSizeXY + 2*ACDTKRDistance + ACDThickness;
|
||||
ACL1SizeY = ACDThickness;
|
||||
ACL1SizeZ = TKRSizeZ + CALSizeZ + ACDTKRDistance + CALTKRDistance;
|
||||
|
||||
ACL2SizeX = ACDThickness;
|
||||
ACL2SizeY = TKRSizeXY + 2*ACDTKRDistance + ACDThickness;
|
||||
ACL2SizeZ = TKRSizeZ + CALSizeZ + ACDTKRDistance + CALTKRDistance;
|
||||
|
||||
PayloadSizeZ = 1.1*(ACL1SizeZ + ACTSizeZ);
|
||||
PayloadSizeXY = (ACTSizeXY);
|
||||
|
||||
WorldSizeZ = 1.5*PayloadSizeZ; WorldSizeXY = 1.5*PayloadSizeXY;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelDetectorMessenger.hh,v 1.2 2000/11/15 20:27:38 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelDetectorMessenger ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelDetectorMessenger_h
|
||||
#define GammaRayTelDetectorMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class GammaRayTelDetectorConstruction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelDetectorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
GammaRayTelDetectorMessenger(GammaRayTelDetectorConstruction* );
|
||||
~GammaRayTelDetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
GammaRayTelDetectorConstruction* GammaRayTelDetector;
|
||||
|
||||
G4UIdirectory* GammaRayTeldetDir;
|
||||
|
||||
// Converter
|
||||
|
||||
G4UIcmdWithAString* ConverterMaterCmd;
|
||||
G4UIcmdWithADoubleAndUnit* ConverterThickCmd;
|
||||
|
||||
// Silicon Tile
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* SiliconThickCmd;
|
||||
G4UIcmdWithADoubleAndUnit* SiliconTileXYCmd;
|
||||
G4UIcmdWithAnInteger* NbSiTilesCmd;
|
||||
G4UIcmdWithADoubleAndUnit* SiliconPitchCmd;
|
||||
|
||||
// Tracker
|
||||
|
||||
G4UIcmdWithAnInteger* NbTKRLayersCmd;
|
||||
G4UIcmdWithADoubleAndUnit* LayerDistanceCmd;
|
||||
G4UIcmdWithADoubleAndUnit* ViewsDistanceCmd;
|
||||
|
||||
// Calorimeter
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* CALThickCmd;
|
||||
G4UIcmdWithAnInteger* NbCALBarsCmd;
|
||||
G4UIcmdWithAnInteger* NbCALLayersCmd;
|
||||
|
||||
// Anticoincidence
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* ACDThickCmd;
|
||||
|
||||
// Total
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* MagFieldCmd;
|
||||
G4UIcmdWithoutParameter* UpdateCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelDummySD.hh,v 1.1 2000/11/15 20:27:39 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelDummySD ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
//
|
||||
// Dummy sensitive used only to flag sensitivity
|
||||
// in cells of RO geometry.
|
||||
//
|
||||
|
||||
#ifndef GammaRayTelDummySD_h
|
||||
#define GammaRayTelDummySD_h 1
|
||||
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
class G4Step;
|
||||
|
||||
class GammaRayTelDummySD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
GammaRayTelDummySD();
|
||||
~GammaRayTelDummySD() {};
|
||||
|
||||
void Initialize(G4HCofThisEvent*HCE) {};
|
||||
G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist) {return false;}
|
||||
void EndOfEvent(G4HCofThisEvent*HCE) {};
|
||||
void clear() {};
|
||||
void DrawAll() {};
|
||||
void PrintAll() {};
|
||||
};
|
||||
GammaRayTelDummySD::GammaRayTelDummySD()
|
||||
: G4VSensitiveDetector("dummySD")
|
||||
{}
|
||||
#endif
|
||||
@@ -0,0 +1,68 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelEventAction.hh,v 1.3 2000/12/06 16:53:13 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelEventAction ------
|
||||
// by R.Giannitrapani, F. Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelEventAction_h
|
||||
#define GammaRayTelEventAction_h 1
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelEventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelEventAction(GammaRayTelAnalysisManager* analysisMgr);
|
||||
#else
|
||||
GammaRayTelEventAction();
|
||||
#endif
|
||||
virtual ~GammaRayTelEventAction();
|
||||
|
||||
public:
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
void SetDrawFlag (G4String val) {drawFlag = val;};
|
||||
|
||||
private:
|
||||
G4int trackerCollID;
|
||||
G4String drawFlag;
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelAnalysisManager* analysisManager;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelPayloadHit.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelPayloadHit ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
// This Class describe the hits on the Payload
|
||||
|
||||
#ifndef GammaRayTelPayloadHit_h
|
||||
#define GammaRayTelPayloadHit_h 1
|
||||
|
||||
#include "G4VHit.hh"
|
||||
#include "G4THitsCollection.hh"
|
||||
#include "G4Allocator.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelPayloadHit : public G4VHit
|
||||
{
|
||||
public:
|
||||
|
||||
GammaRayTelPayloadHit();
|
||||
~GammaRayTelPayloadHit();
|
||||
GammaRayTelPayloadHit(const GammaRayTelPayloadHit&);
|
||||
const GammaRayTelPayloadHit& operator=(const GammaRayTelPayloadHit&);
|
||||
int operator==(const GammaRayTelPayloadHit&) const;
|
||||
|
||||
inline void* operator new(size_t);
|
||||
inline void operator delete(void*);
|
||||
|
||||
void Draw();
|
||||
void Print();
|
||||
|
||||
private:
|
||||
|
||||
G4double EdepSil; // Energy deposited on the silicon strip
|
||||
G4ThreeVector pos; // Position of the hit
|
||||
G4int NStrip; // Number of the strip
|
||||
G4int NSilPlane; // Number of the plane
|
||||
G4int IsXPlane; // Type of the plane (1 X, 0 Y)
|
||||
|
||||
public:
|
||||
|
||||
inline void AddSil(G4double de) {EdepSil += de;};
|
||||
inline void SetNStrip(G4int i) {NStrip = i;};
|
||||
inline void SetNSilPlane(G4int i) {NSilPlane = i;};
|
||||
inline void SetPlaneType(G4int i) {IsXPlane = i;};
|
||||
inline void SetPos(G4ThreeVector xyz){ pos = xyz; }
|
||||
|
||||
inline G4double GetEdepSil() { return EdepSil; };
|
||||
inline G4int GetNStrip() { return NStrip; };
|
||||
inline G4int GetNSilPlane() { return NSilPlane; };
|
||||
inline G4int GetPlaneType() {return IsXPlane;};
|
||||
inline G4ThreeVector GetPos() { return pos; };
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
typedef G4THitsCollection<GammaRayTelPayloadHit> GammaRayTelPayloadHitsCollection;
|
||||
|
||||
extern G4Allocator<GammaRayTelPayloadHit> GammaRayTelPayloadHitAllocator;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void* GammaRayTelPayloadHit::operator new(size_t)
|
||||
{
|
||||
void* aHit;
|
||||
aHit = (void*) GammaRayTelPayloadHitAllocator.MallocSingle();
|
||||
return aHit;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void GammaRayTelPayloadHit::operator delete(void* aHit)
|
||||
{
|
||||
GammaRayTelPayloadHitAllocator.FreeSingle((GammaRayTelPayloadHit*) aHit);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelPayloadROGeometry.hh,v 1.1 2000/11/15 20:27:39 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelPayloadROGeometry ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#ifndef GammaRayTelPayloadROGeometry_h
|
||||
#define GammaRayTelPayloadROGeometry_h 1
|
||||
|
||||
#include "G4VReadOutGeometry.hh"
|
||||
|
||||
class GammaRayTelDetectorConstruction;
|
||||
|
||||
class GammaRayTelPayloadROGeometry : public G4VReadOutGeometry
|
||||
{
|
||||
public:
|
||||
GammaRayTelPayloadROGeometry();
|
||||
GammaRayTelPayloadROGeometry(G4String);
|
||||
GammaRayTelPayloadROGeometry(G4String, GammaRayTelDetectorConstruction*);
|
||||
~GammaRayTelPayloadROGeometry();
|
||||
|
||||
private:
|
||||
G4VPhysicalVolume* Build();
|
||||
GammaRayTelDetectorConstruction* GammaRayTelDetector;
|
||||
//pointer to the geometry
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelPayloadSD.hh,v 1.3 2000/11/24 16:56:59 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelPayloadSD ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#ifndef GammaRayTelPayloadSD_h
|
||||
#define GammaRayTelPayloadSD_h 1
|
||||
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class GammaRayTelDetectorConstruction;
|
||||
class G4HCofThisEvent;
|
||||
class G4Step;
|
||||
#include "GammaRayTelPayloadHit.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelPayloadSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
|
||||
GammaRayTelPayloadSD(G4String, GammaRayTelDetectorConstruction* );
|
||||
~GammaRayTelPayloadSD();
|
||||
|
||||
void Initialize(G4HCofThisEvent*);
|
||||
G4bool ProcessHits(G4Step* astep,G4TouchableHistory* ROHist);
|
||||
void EndOfEvent(G4HCofThisEvent*);
|
||||
void clear();
|
||||
void DrawAll();
|
||||
void PrintAll();
|
||||
|
||||
private:
|
||||
|
||||
GammaRayTelPayloadHitsCollection* PayloadCollection;
|
||||
GammaRayTelDetectorConstruction* Detector;
|
||||
G4int (*HitXID)[30];
|
||||
G4int (*HitYID)[30];
|
||||
G4int NbOfTKRLayers;
|
||||
G4int NbOfTKRStrips;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelPhysicsList.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelPhysicsList ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelPhysicsList_h
|
||||
#define GammaRayTelPhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelPhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
GammaRayTelPhysicsList();
|
||||
~GammaRayTelPhysicsList();
|
||||
|
||||
protected:
|
||||
// Construct particle and physics
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
virtual void SetCuts();
|
||||
|
||||
public:
|
||||
// Set/Get cut values
|
||||
void SetCutForGamma(G4double);
|
||||
void SetCutForElectron(G4double);
|
||||
void SetCutForProton(G4double);
|
||||
G4double GetCutForGamma() const;
|
||||
G4double GetCutForElectron() const;
|
||||
G4double GetCutForProton() const;
|
||||
|
||||
protected:
|
||||
// these methods Construct particles
|
||||
void ConstructBosons();
|
||||
void ConstructLeptons();
|
||||
void ConstructMesons();
|
||||
void ConstructBaryons();
|
||||
|
||||
protected:
|
||||
// these methods Construct physics processes and register them
|
||||
void ConstructGeneral();
|
||||
void ConstructEM();
|
||||
|
||||
private:
|
||||
G4double cutForGamma;
|
||||
G4double cutForElectron;
|
||||
G4double cutForProton;
|
||||
G4double currentDefaultCut;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelPrimaryGeneratorAction.hh,v 1.3 2000/12/06 16:53:13 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelPrimaryGeneratorAction ------
|
||||
// by G.Santin, F.Longo & R.Giannitrapani (30 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelPrimaryGeneratorAction_h
|
||||
#define GammaRayTelPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
class GammaRayTelDetectorConstruction;
|
||||
class GammaRayTelPrimaryGeneratorMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
GammaRayTelPrimaryGeneratorAction(GammaRayTelDetectorConstruction*);
|
||||
~GammaRayTelPrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event*);
|
||||
void SetRndmFlag(G4String val) { rndmFlag = val;}
|
||||
void SetSourceType(G4int val) { nSourceType = val;}
|
||||
void SetSpectrumType(G4int val) { nSpectrumType = val;}
|
||||
void SetVertexRadius(G4double val) { dVertexRadius = val;}
|
||||
|
||||
private:
|
||||
G4ParticleGun* particleGun;
|
||||
GammaRayTelDetectorConstruction* GammaRayTelDetector;
|
||||
GammaRayTelPrimaryGeneratorMessenger* gunMessenger;
|
||||
G4String rndmFlag; //flag for a random impact point
|
||||
G4int nSourceType;
|
||||
G4double dVertexRadius;
|
||||
G4int nSpectrumType;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelPrimaryGeneratorMessenger.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelPrimaryGeneratorMessenger ------
|
||||
// by G.Santin, F.Longo & R.Giannitrapani (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelPrimaryGeneratorMessenger_h
|
||||
#define GammaRayTelPrimaryGeneratorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class GammaRayTelPrimaryGeneratorAction;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelPrimaryGeneratorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
GammaRayTelPrimaryGeneratorMessenger(GammaRayTelPrimaryGeneratorAction*);
|
||||
~GammaRayTelPrimaryGeneratorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
GammaRayTelPrimaryGeneratorAction* GammaRayTelAction;
|
||||
G4UIcmdWithAString* RndmCmd;
|
||||
G4UIcmdWithAnInteger* SourceTypeCmd;
|
||||
G4UIcmdWithADoubleAndUnit* VertexRadiusCmd;
|
||||
G4UIcmdWithAnInteger* SpectrumTypeCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelRunAction.hh,v 1.3 2000/12/06 16:53:13 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelRunAction ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelRunAction_h
|
||||
#define GammaRayTelRunAction_h 1
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class G4Run;
|
||||
|
||||
class GammaRayTelRunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelRunAction(GammaRayTelAnalysisManager* analysisMgr);
|
||||
#else
|
||||
GammaRayTelRunAction();
|
||||
#endif
|
||||
~GammaRayTelRunAction();
|
||||
|
||||
public:
|
||||
void BeginOfRunAction(const G4Run*);
|
||||
void EndOfRunAction(const G4Run*);
|
||||
|
||||
private:
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelAnalysisManager* analysisManager;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: GammaRayTelVisManager.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
//
|
||||
// ------------ GammaRayTelVisManager ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelVisManager_h
|
||||
#define GammaRayTelVisManager_h 1
|
||||
|
||||
#ifdef G4VIS_USE
|
||||
|
||||
#include "G4VisManager.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelVisManager: public G4VisManager {
|
||||
|
||||
public:
|
||||
|
||||
GammaRayTelVisManager ();
|
||||
|
||||
private:
|
||||
|
||||
void RegisterGraphicsSystems ();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user