File indexing completed on 2026-06-16 07:53:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef DetectorConstruction_h
0030 #define DetectorConstruction_h 1
0031
0032 #include "G4VUserDetectorConstruction.hh"
0033 #include "globals.hh"
0034
0035 class G4VPhysicalVolume;
0036 class G4Material;
0037 class DetectorMessenger;
0038
0039
0040
0041 class DetectorConstruction : public G4VUserDetectorConstruction
0042 {
0043 public:
0044 DetectorConstruction();
0045 ~DetectorConstruction();
0046
0047 public:
0048 void SetWallThickness(G4double);
0049 void SetWallMaterial(const G4String&);
0050
0051 void SetCavityThickness(G4double);
0052 void SetCavityRadius(G4double);
0053 void SetCavityMaterial(const G4String&);
0054
0055 virtual G4VPhysicalVolume* Construct();
0056
0057 G4double GetWallThickness() { return fWallThickness; };
0058 G4double GetWallRadius() { return fWallRadius; };
0059 G4Material* GetWallMaterial() { return fWallMaterial; };
0060 G4VPhysicalVolume* GetWall() { return fWall; };
0061
0062 G4double GetCavityThickness() { return fCavityThickness; };
0063 G4double GetCavityRadius() { return fCavityRadius; };
0064 G4Material* GetCavityMaterial() { return fCavityMaterial; };
0065 G4VPhysicalVolume* GetCavity() { return fCavity; };
0066
0067 G4double GetTotalThickness() { return fTotalThickness; };
0068
0069 void PrintParameters();
0070
0071 private:
0072 void DefineMaterials();
0073
0074 G4double fWallThickness;
0075 G4double fWallRadius;
0076 G4Material* fWallMaterial;
0077 G4VPhysicalVolume* fWall;
0078
0079 G4double fCavityThickness;
0080 G4double fCavityRadius;
0081 G4Material* fCavityMaterial;
0082 G4VPhysicalVolume* fCavity;
0083
0084 G4double fTotalThickness;
0085
0086 DetectorMessenger* fDetectorMessenger;
0087 };
0088
0089
0090
0091 #endif