35 #include "SensitiveDetector.hh"
36 #include "Materials.hh"
56 : fRadiatorDescription(0)
83 G4double foilGasRatio = radThickness/(radThickness+gasGap);
84 G4int foilNumber = 220;
106 G4double totDensity = foilDensity*foilGasRatio
107 + gasDensity*(1.0-foilGasRatio);
109 G4double fractionFoil = foilDensity*foilGasRatio/totDensity;
110 G4double fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity;
113 radiatorMat->AddMaterial(mylar, fractionFoil);
114 radiatorMat->AddMaterial(air, fractionGas);
132 =
new G4Box(
"World", worldSizeR, worldSizeR, worldSizeZ/2.);
142 G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap;
143 G4double radZ = startZ + 0.5*radThick;
146 =
new G4Box(
"Radiator", 1.1*absorberRadius, 1.1*absorberRadius,
153 "Radiator", logicRadiator, physicsWorld,
false, 0 );
165 =
new G4Box(
"Absorber", absorberRadius, absorberRadius,
166 absorberThickness/2.);
171 G4double windowZ = startZ + radThick + windowThick/2. + 15.0*
mm;
172 G4double gapZ = windowZ + windowThick/2. + gapThick/2. + 0.01*
mm;
173 G4double electrodeZ = gapZ + gapThick/2. + electrodeThick/2. + 0.01*
mm;
174 G4double absorberZ = electrodeZ + electrodeThick/2.
175 + absorberThickness/2. + 0.01*
mm;
178 "Absorber", logicAbsorber, physicsWorld,
false, 0);
191 G4cout <<
"\n The WORLD is made of "
192 << worldSizeZ/
mm <<
"mm of " << worldMaterial->
GetName();
193 G4cout <<
", the transverse size (R) of the world is "
194 << worldSizeR/
mm <<
" mm. " <<
G4endl;
195 G4cout <<
" The ABSORBER is made of "
196 << absorberThickness/
mm <<
"mm of " << absorberMaterial->
GetName();
197 G4cout <<
", the transverse size (R) is "
198 << absorberRadius/
mm <<
" mm. " <<
G4endl;
199 G4cout <<
" Z position of the (middle of the) absorber "
200 << absorberZ/
mm <<
" mm." <<
G4endl;
207 G4cout <<
"fRadiatorMat = " << radiatorMat->GetName() <<
G4endl;
void AddRootLogicalVolume(G4LogicalVolume *lv)
static constexpr double micrometer
CLHEP::Hep3Vector G4ThreeVector
G4Material * GetMaterial(const G4String &)
static constexpr double mm
void AddNewDetector(G4VSensitiveDetector *aSD)
static Materials * GetInstance()
const G4String & GetName() const
G4VPhysicalVolume * Construct()
Definition of the DetectorSimpleALICE class.
RadiatorDescription * fRadiatorDescription
G4Material * fFoilMaterial
G4Material * fGasMaterial
static G4SDManager * GetSDMpointer()
G4LogicalVolume * fLogicalVolume
static constexpr double cm
G4GLOB_DLL std::ostream G4cout
G4double GetDensity() const
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)