Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -28,128 +28,125 @@
|
||||
/// \brief Definition of the LXeDetectorConstruction class
|
||||
//
|
||||
//
|
||||
#ifndef LXeDetectorConstruction_H
|
||||
#define LXeDetectorConstruction_H 1
|
||||
#ifndef LXeDetectorConstruction_h
|
||||
#define LXeDetectorConstruction_h 1
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Box;
|
||||
class G4Tubs;
|
||||
class LXeMainVolume;
|
||||
class G4Sphere;
|
||||
|
||||
#include "G4Material.hh"
|
||||
#include "LXeDetectorMessenger.hh"
|
||||
#include "G4VisAttributes.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
#include "LXeScintSD.hh"
|
||||
#include "LXePMTSD.hh"
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "G4Cache.hh"
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
|
||||
class LXeMainVolume;
|
||||
class LXePMTSD;
|
||||
class LXeScintSD;
|
||||
|
||||
class G4Box;
|
||||
class G4Element;
|
||||
class G4LogicalVolume;
|
||||
class G4Material;
|
||||
class G4MaterialPropertiesTable;
|
||||
class G4Sphere;
|
||||
class G4Tubs;
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
class LXeDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
public:
|
||||
LXeDetectorConstruction();
|
||||
~LXeDetectorConstruction();
|
||||
|
||||
LXeDetectorConstruction();
|
||||
virtual ~LXeDetectorConstruction();
|
||||
G4VPhysicalVolume* Construct() override;
|
||||
void ConstructSDandField() override;
|
||||
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
virtual void ConstructSDandField();
|
||||
// Functions to modify the geometry
|
||||
void SetDimensions(G4ThreeVector);
|
||||
void SetHousingThickness(G4double);
|
||||
void SetNX(G4int);
|
||||
void SetNY(G4int);
|
||||
void SetNZ(G4int);
|
||||
void SetPMTRadius(G4double);
|
||||
void SetDefaults();
|
||||
void SetSaveThreshold(G4int);
|
||||
|
||||
//Functions to modify the geometry
|
||||
void SetDimensions(G4ThreeVector );
|
||||
void SetHousingThickness(G4double );
|
||||
void SetNX(G4int );
|
||||
void SetNY(G4int );
|
||||
void SetNZ(G4int );
|
||||
void SetPMTRadius(G4double );
|
||||
void SetDefaults();
|
||||
void SetSaveThreshold(G4int );
|
||||
// Get values
|
||||
G4int GetNX() const { return fNx; };
|
||||
G4int GetNY() const { return fNy; };
|
||||
G4int GetNZ() const { return fNz; };
|
||||
G4int GetSaveThreshold() const { return fSaveThreshold; };
|
||||
G4double GetScintX() const { return fScint_x; }
|
||||
G4double GetScintY() const { return fScint_y; }
|
||||
G4double GetScintZ() const { return fScint_z; }
|
||||
G4double GetHousingThickness() const { return fD_mtl; }
|
||||
G4double GetPMTRadius() const { return fOuterRadius_pmt; }
|
||||
G4double GetSlabZ() const { return fSlab_z; }
|
||||
|
||||
//Get values
|
||||
G4int GetNX() const {return fNx;};
|
||||
G4int GetNY() const {return fNy;};
|
||||
G4int GetNZ() const {return fNz;};
|
||||
G4int GetSaveThreshold() const {return fSaveThreshold;};
|
||||
G4double GetScintX() const {return fScint_x;}
|
||||
G4double GetScintY() const {return fScint_y;}
|
||||
G4double GetScintZ() const {return fScint_z;}
|
||||
G4double GetHousingThickness() const {return fD_mtl;}
|
||||
G4double GetPMTRadius() const {return fOuterRadius_pmt;}
|
||||
G4double GetSlabZ() const {return fSlab_z;}
|
||||
|
||||
void SetSphereOn(G4bool );
|
||||
static G4bool GetSphereOn(){return fSphereOn;}
|
||||
void SetSphereOn(G4bool);
|
||||
static G4bool GetSphereOn() { return fSphereOn; }
|
||||
|
||||
void SetHousingReflectivity(G4double );
|
||||
G4double GetHousingReflectivity() const {return fRefl;}
|
||||
void SetHousingReflectivity(G4double);
|
||||
G4double GetHousingReflectivity() const { return fRefl; }
|
||||
|
||||
void SetWLSSlabOn(G4bool b);
|
||||
G4bool GetWLSSlabOn() const {return fWLSslab;}
|
||||
void SetWLSSlabOn(G4bool b);
|
||||
G4bool GetWLSSlabOn() const { return fWLSslab; }
|
||||
|
||||
void SetMainVolumeOn(G4bool b);
|
||||
G4bool GetMainVolumeOn() const {return fMainVolumeOn;}
|
||||
void SetMainVolumeOn(G4bool b);
|
||||
G4bool GetMainVolumeOn() const { return fMainVolumeOn; }
|
||||
|
||||
void SetNFibers(G4int n);
|
||||
G4int GetNFibers() const {return fNfibers;}
|
||||
void SetNFibers(G4int n);
|
||||
G4int GetNFibers() const { return fNfibers; }
|
||||
|
||||
void SetMainScintYield(G4double );
|
||||
void SetWLSScintYield(G4double );
|
||||
void SetMainScintYield(G4double);
|
||||
void SetWLSScintYield(G4double);
|
||||
|
||||
private:
|
||||
private:
|
||||
void DefineMaterials();
|
||||
|
||||
void DefineMaterials();
|
||||
LXeDetectorMessenger* fDetectorMessenger;
|
||||
|
||||
LXeDetectorMessenger* fDetectorMessenger;
|
||||
G4Box* fExperimentalHall_box;
|
||||
G4LogicalVolume* fExperimentalHall_log;
|
||||
G4VPhysicalVolume* fExperimentalHall_phys;
|
||||
|
||||
G4Box* fExperimentalHall_box;
|
||||
G4LogicalVolume* fExperimentalHall_log;
|
||||
G4VPhysicalVolume* fExperimentalHall_phys;
|
||||
// Materials & Elements
|
||||
G4Material* fLXe;
|
||||
G4Material* fAl;
|
||||
G4Element* fN;
|
||||
G4Element* fO;
|
||||
G4Material* fAir;
|
||||
G4Material* fVacuum;
|
||||
G4Element* fC;
|
||||
G4Element* fH;
|
||||
G4Material* fGlass;
|
||||
G4Material* fPstyrene;
|
||||
G4Material* fPMMA;
|
||||
G4Material* fPethylene1;
|
||||
G4Material* fPethylene2;
|
||||
|
||||
//Materials & Elements
|
||||
G4Material* fLXe;
|
||||
G4Material* fAl;
|
||||
G4Element* fN;
|
||||
G4Element* fO;
|
||||
G4Material* fAir;
|
||||
G4Material* fVacuum;
|
||||
G4Element* fC;
|
||||
G4Element* fH;
|
||||
G4Material* fGlass;
|
||||
G4Material* fPstyrene;
|
||||
G4Material* fPMMA;
|
||||
G4Material* fPethylene1;
|
||||
G4Material* fPethylene2;
|
||||
// Geometry
|
||||
G4double fScint_x;
|
||||
G4double fScint_y;
|
||||
G4double fScint_z;
|
||||
G4double fD_mtl;
|
||||
G4int fNx;
|
||||
G4int fNy;
|
||||
G4int fNz;
|
||||
G4int fSaveThreshold;
|
||||
G4double fOuterRadius_pmt;
|
||||
G4int fNfibers;
|
||||
static G4bool fSphereOn;
|
||||
G4double fRefl;
|
||||
G4bool fWLSslab;
|
||||
G4bool fMainVolumeOn;
|
||||
G4double fSlab_z;
|
||||
|
||||
//Geometry
|
||||
G4double fScint_x;
|
||||
G4double fScint_y;
|
||||
G4double fScint_z;
|
||||
G4double fD_mtl;
|
||||
G4int fNx;
|
||||
G4int fNy;
|
||||
G4int fNz;
|
||||
G4int fSaveThreshold;
|
||||
G4double fOuterRadius_pmt;
|
||||
G4int fNfibers;
|
||||
static G4bool fSphereOn;
|
||||
G4double fRefl;
|
||||
G4bool fWLSslab;
|
||||
G4bool fMainVolumeOn;
|
||||
G4double fSlab_z;
|
||||
LXeMainVolume* fMainVolume;
|
||||
|
||||
LXeMainVolume* fMainVolume;
|
||||
|
||||
G4MaterialPropertiesTable* fLXe_mt;
|
||||
G4MaterialPropertiesTable* fMPTPStyrene;
|
||||
|
||||
//Sensitive Detectors
|
||||
G4Cache<LXeScintSD*> fScint_SD;
|
||||
G4Cache<LXePMTSD*> fPmt_SD;
|
||||
G4MaterialPropertiesTable* fLXe_mt;
|
||||
G4MaterialPropertiesTable* fMPTPStyrene;
|
||||
|
||||
// Sensitive Detectors
|
||||
G4Cache<LXeScintSD*> fScint_SD;
|
||||
G4Cache<LXePMTSD*> fPmt_SD;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user