43 #include "DetectorConstruction.hh"
44 #include "DetectorMessenger.hh"
45 #include "TargetSD.hh"
78 fGasMat(0), fWindowMat(0), fWorldMaterial(0),
79 fSolidWorld(0), fSolidContainer(0), fSolidDetector(0),
80 fPhysWorld(0), fLogicWorld(0), fLogicContainer(0), fLogicDetector(0),
81 fDetectorMessenger(0), fGasDetectorCuts(0), fRegGasDet(0)
145 density = 3.491*
mg/
cm3 ;
150 Kr7CH4->
AddMaterial( Methane, fractionmass = 0.014 ) ;
154 new G4Material(name=
"TRT_Xe", TRT_Xe_density, nel=1,
160 new G4Material(name=
"TRT_CO2", TRT_CO2_density, nel=2,
167 new G4Material(name=
"TRT_CF4", TRT_CF4_density, nel=2,
175 new G4Material(name=
"XeCO2CF4", XeCO2CF4_density,
183 density = 3.758*
mg/
cm3 ;
191 density = 4.9196*
mg/
cm3 ;
194 density, ncomponents=3,
196 XeCH4C3H8->
AddMaterial( Xe, fractionmass = 0.971 ) ;
197 XeCH4C3H8->
AddMaterial( Methane, fractionmass = 0.010 ) ;
198 XeCH4C3H8->
AddMaterial( Propane, fractionmass = 0.019 ) ;
201 density = 1.709*
mg/
cm3 ;
203 new G4Material(name=
"Ar7CH4", density, ncomponents=2,
205 Ar7CH4->
AddMaterial( Argon, fractionmass = 0.971 ) ;
206 Ar7CH4->
AddMaterial( Methane, fractionmass = 0.029 ) ;
209 density = 1.8223*
mg/
cm3 ;
211 new G4Material(name=
"ArCO2" , density, ncomponents=2,
213 Ar_80CO2_20->
AddMaterial( Argon, fractionmass = 0.783 ) ;
214 Ar_80CO2_20->
AddMaterial( CarbonDioxide, fractionmass = 0.217 ) ;
217 density = 5.0818*
mg/
cm3 ;
219 new G4Material(name=
"Xe20CO2", density, ncomponents=2,
222 Xe20CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.078 ) ;
225 density = 3.601*
mg/
cm3 ;
227 new G4Material(name=
"Kr20CO2", density, ncomponents=2,
230 Kr20CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.11 ) ;
233 density = 0.939*
mg/
cm3 ;
235 new G4Material(name=
"TPC_Ne-CO2-2", density, ncomponents=3,
237 NeCO2->
AddElement( elNe, fractionmass = 0.8039 ) ;
238 NeCO2->
AddElement( elO, fractionmass = 0.1426 ) ;
239 NeCO2->
AddElement( elC, fractionmass = 0.0535 ) ;
242 density = 4.9389*
mg/
cm3 ;
244 new G4Material(name=
"Xe15CO2", density, ncomponents=2,
247 Xe15CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.056 );
264 G4double worldSizeZ = contThick*1.2;
270 G4cout <<
"\n The WORLD is made of "
272 G4cout <<
", the transverse size (R) of the world is " << worldSizeR/
mm
274 G4cout <<
" The CONTAINER is made of "
276 G4cout <<
" The TARGET is made of "
278 G4cout <<
", the transverse size (R) is " << fGasRadius/
mm <<
" mm. "
440 G4double worldSizeZ = contThick*1.2;
G4IonisParamMat * GetIonisation() const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
void SetZHalfLength(G4double dz)
CLHEP::Hep3Vector G4ThreeVector
void AddRootLogicalVolume(G4LogicalVolume *lv)
void SetGasThickness(G4double)
void AddMaterial(G4Material *material, G4double fraction)
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
G4double GetMeanEnergyPerIonPair() const
const G4String & GetName() const
G4VPhysicalVolume * Construct()
static G4MaterialTable * GetMaterialTable()
void SetWorldMaterial(const G4String &)
void SetProductionCut(G4double cut, G4int index=-1)
void SetPairEnergy(G4double)
void SetPositionZ(G4double val)
void SetContainerMaterial(const G4String &)
static G4NistManager * Instance()
G4ProductionCuts * fGasDetectorCuts
virtual void ConstructSDandField()
void SetContainerThickness(G4double)
G4GLOB_DLL std::ostream G4cout
G4LogicalVolume * fLogicWorld
void PhysicsHasBeenModified()
G4VPhysicalVolume * fPhysWorld
static const double twopi
G4LogicalVolume * fLogicDetector
G4LogicalVolume * fLogicContainer
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
static const double kelvin
static G4RunManager * GetRunManager()
static const double micrometer
void SetOuterRadius(G4double newRMax)
void SetGasMaterial(const G4String &)
G4double XeCO2CF4_density
static const G4VisAttributes Invisible
static const double atmosphere
static TestParameters * GetPointer()
static const G4double NTP_Temperature
void SetGasRadius(G4double)
void SetProductionCuts(G4ProductionCuts *cut)
void AddElement(G4Element *element, G4int nAtoms)
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
void SetMaterial(G4Material *pMaterial)
Messenger class that defines commands for DetectorConstruction.
void SetVisAttributes(const G4VisAttributes *pVA)
G4Material * fWorldMaterial
void SetZHalfLength(G4double newDz)
void SetMeanEnergyPerIonPair(G4double value)
DetectorMessenger * fDetectorMessenger