43 #include "DetectorConstruction.hh"
44 #include "DetectorMessenger.hh"
45 #include "TargetSD.hh"
71 #include "TestParameters.hh"
78 fGasMat(nullptr), fWindowMat(nullptr), fWorldMaterial(nullptr),
79 fSolidWorld(nullptr), fSolidContainer(nullptr), fSolidDetector(nullptr),
80 fPhysWorld(nullptr), fLogicWorld(nullptr), fLogicContainer(nullptr),
81 fLogicDetector(nullptr),fRegGasDet(nullptr)
146 density = 3.491*
mg/
cm3 ;
151 Kr7CH4->
AddMaterial( Methane, fractionmass = 0.014 ) ;
155 new G4Material(name=
"TRT_Xe", TRT_Xe_density, nel=1,
161 new G4Material(name=
"TRT_CO2", TRT_CO2_density, nel=2,
168 new G4Material(name=
"TRT_CF4", TRT_CF4_density, nel=2,
176 new G4Material(name=
"XeCO2CF4", XeCO2CF4_density,
184 density = 3.758*
mg/
cm3 ;
192 density = 4.9196*
mg/
cm3 ;
195 density, ncomponents=3,
197 XeCH4C3H8->
AddMaterial( Xe, fractionmass = 0.971 ) ;
198 XeCH4C3H8->
AddMaterial( Methane, fractionmass = 0.010 ) ;
199 XeCH4C3H8->
AddMaterial( Propane, fractionmass = 0.019 ) ;
202 density = 1.709*
mg/
cm3 ;
204 new G4Material(name=
"Ar7CH4", density, ncomponents=2,
206 Ar7CH4->
AddMaterial( Argon, fractionmass = 0.971 ) ;
207 Ar7CH4->
AddMaterial( Methane, fractionmass = 0.029 ) ;
210 density = 1.8223*
mg/
cm3 ;
212 new G4Material(name=
"ArCO2" , density, ncomponents=2,
214 Ar_80CO2_20->
AddMaterial( Argon, fractionmass = 0.783 ) ;
215 Ar_80CO2_20->
AddMaterial( CarbonDioxide, fractionmass = 0.217 ) ;
218 density = 5.0818*
mg/
cm3 ;
220 new G4Material(name=
"Xe20CO2", density, ncomponents=2,
223 Xe20CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.078 ) ;
226 density = 3.601*
mg/
cm3 ;
228 new G4Material(name=
"Kr20CO2", density, ncomponents=2,
231 Kr20CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.11 ) ;
234 density = 0.939*
mg/
cm3 ;
236 new G4Material(name=
"TPC_Ne-CO2-2", density, ncomponents=3,
238 NeCO2->
AddElement( elNe, fractionmass = 0.8039 ) ;
239 NeCO2->
AddElement( elO, fractionmass = 0.1426 ) ;
240 NeCO2->
AddElement( elC, fractionmass = 0.0535 ) ;
243 density = 4.9389*
mg/
cm3 ;
245 new G4Material(name=
"Xe15CO2", density, ncomponents=2,
248 Xe15CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.056 );
265 G4double worldSizeZ = contThick*1.2;
271 G4cout <<
"\n The WORLD is made of "
273 G4cout <<
", the transverse size (R) of the world is " << worldSizeR/
mm
275 G4cout <<
" The CONTAINER is made of "
277 G4cout <<
" The TARGET is made of "
279 G4cout <<
", the transverse size (R) is " << fGasRadius/
mm <<
" mm. "
443 G4double worldSizeZ = contThick*1.2;
static constexpr double kelvin
void AddRootLogicalVolume(G4LogicalVolume *lv)
static G4RunManager * GetRunManager()
static constexpr double micrometer
void SetProductionCut(G4double cut, G4int index=-1)
static constexpr double atmosphere
CLHEP::Hep3Vector G4ThreeVector
void SetOuterRadius(G4double newRMax)
static const G4double NTP_Temperature
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
static constexpr double STP_Temperature
static G4MaterialTable * GetMaterialTable()
void SetContainerThickness(G4double)
static constexpr double mm
G4LogicalVolume * fLogicWorld
void AddNewDetector(G4VSensitiveDetector *aSD)
void SetPairEnergy(G4double)
void SetZHalfLength(G4double dz)
G4VPhysicalVolume * Construct()
void SetGasThickness(G4double)
void SetProductionCuts(G4ProductionCuts *cut)
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
void SetContainerMaterial(const G4String &)
static constexpr double STP_Pressure
static const G4VisAttributes & GetInvisible()
void SetMeanEnergyPerIonPair(G4double value)
const G4String & GetName() const
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
void SetWorldMaterial(const G4String &materialName)
G4LogicalVolume * fLogicContainer
virtual void ConstructSDandField()
void SetZHalfLength(G4double newDz)
static TestParameters * GetPointer()
static constexpr double mg
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static constexpr double eV
G4double GetMeanEnergyPerIonPair() const
void SetVisAttributes(const G4VisAttributes *pVA)
G4VPhysicalVolume * fPhysWorld
static constexpr double twopi
static G4SDManager * GetSDMpointer()
void AddElement(G4Element *element, G4int nAtoms)
G4IonisParamMat * GetIonisation() const
void SetPositionZ(G4double val)
void PhysicsHasBeenModified()
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
DetectorMessenger * fDetectorMessenger
void SetMaterial(G4Material *pMaterial)
G4ProductionCuts * fGasDetectorCuts
G4Material * fWorldMaterial
void SetGasRadius(G4double)
void SetGasMaterial(const G4String &)
void AddMaterial(G4Material *material, G4double fraction)
static constexpr double cm3
G4LogicalVolume * fLogicDetector
static G4NistManager * Instance()