31#ifndef GarfieldDetectorConstruction_h
32#define GarfieldDetectorConstruction_h 1
34#include "G4UserLimits.hh"
35#include "G4VUserDetectorConstruction.hh"
38class G4VPhysicalVolume;
39class G4VLogicalVolume;
58 virtual G4VPhysicalVolume*
Construct()
override;
63 const G4VPhysicalVolume*
GetGasPV()
const {
return fGasPV; }
64 const G4VPhysicalVolume*
GetWirePV()
const {
return fWirePV; }
67 G4double density, G4int Z,
71 void DefineMaterials();
72 G4VPhysicalVolume* DefineVolumes();
74 G4VPhysicalVolume* fAbsorberPV =
nullptr;
75 G4VPhysicalVolume* fTubePV =
nullptr;
76 G4VPhysicalVolume* fGasPV =
nullptr;
77 G4VPhysicalVolume* fWirePV =
nullptr;
79 G4Material* fAbsorberMaterial =
nullptr;
80 G4LogicalVolume* fAbsorberLV =
nullptr;
83 G4bool fCheckOverlaps =
true;
const G4VPhysicalVolume * GetDriftTubePV() const
GarfieldDetectorConstruction()
const G4VPhysicalVolume * GetGasPV() const
void SetAbsorberMaterial(G4String materialChoice)
G4Material * AbsorberMaterialWithSingleIsotope(G4String name, G4String symbol, G4double density, G4int Z, G4int A)
const G4VPhysicalVolume * GetAbsorberPV() const
const G4VPhysicalVolume * GetWirePV() const
virtual ~GarfieldDetectorConstruction()
virtual G4VPhysicalVolume * Construct() override