91 fAir(0), fAluminum(0), fPb(0), fXenon(0),
210 G4Box * experimentalHallBox
216 experimentalHallLV,
"ExpHallPhys", 0,
false, 0);
226 "StepPhys", experimentalHallLV,
false, 0);
234 return fWorldPhysVol;
267 density = 1.29*
mg/
cm3;
274 density = 2.70*
g/
cm3;
310 G4Box * experimentalHallBox =
316 "ExpHallPhys", 0,
false, 0);
326 G4Box * detectorBox =
327 new G4Box(
"detectorBox", det_x, det_y, det_z);
332 "detPhys", experimentalHallLV,
false, 0);
341 new G4Box(
"roomBox", room_x, room_y, room_z);
346 "roomPhys", experimentalHallLV,
false, 0);
354 "PhysSubDetector1", detectorLV,
false, 0);
371 subDetectorLV1, detectorLV,
false, 0);
378 "PhysSubDetectorFirst3", detectorLV,
false, 0);
386 "AssemblyPhys", subDetectorLV4,
false, 0);
389 "PhysSubDetectorSecond3", detectorLV,
false, 0);
391 return experimentalHallPhys;
406 new G4Tubs(
"subTub", 0., sub_x, sub_y, -90.*
deg, 180*
deg);
412 "AssemblyPhys", subTubLV,
false, 0);
429 new G4Box(
"detHallBox", sub_x, sub_y, sub_z);
449 new G4Box(
"OuterBox", big_x, big_y, big_z);
454 "OuterBoxPhys", 0,
false, 0);
463 new G4Box(
"BBox", bigL, bigL, bigL);
467 new G4Box(
"MBox", medL, medL, medL);
471 new G4Box(
"SBox", smalL, smalL, smalL);
479 "AlPhysBig", OuterBoxLV,
false, 0);
497 "AlPhysBigTube", SmallBoxLV,
false, 0);
534 assembly->
MakeImprint(OuterBoxLV, transform1, 0, 0);
546 const G4double chamber_y = chamber_x;
547 const G4double chamber_z = chamber_x;
551 G4Box * paramChamberBox =
552 new G4Box(
"ChamberBox", chamber_x, chamber_y, chamber_z);
558 G4int NbOfChambers = 5;
561 G4double fTrackerLength = (NbOfChambers+1)*ChamberSpacing;
562 G4double trackerSize = 0.5*fTrackerLength;
567 G4Box *solidChamber =
572 G4double firstPosition = -trackerSize + 0.5*ChamberWidth;
573 G4double firstLength = fTrackerLength/10;
574 G4double lastLength = fTrackerLength;
590 return paramChamberLV;
Definition of the G02DetectorMessenger class.
void MakeImprint(G4LogicalVolume *pMotherLV, G4ThreeVector &translationInMother, G4RotationMatrix *pRotationInMother, G4int copyNumBase=0, G4bool surfCheck=false)
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
Definition of the G02DetectorConstruction class.
void SetWriteFile(const G4String &File)
G4VPhysicalVolume * ConstructDetector()
G4VPhysicalVolume * GetWorldVolume(const G4String &setupName="Default") const
static G4MaterialTable * GetMaterialTable()
G02DetectorMessenger * fDetectorMessenger
G4LogicalVolume * ConstructParametrisationChamber()
static G4ReflectionFactory * Instance()
G4LogicalVolume * ConstructSubDetector1()
void SetReadFile(const G4String &File)
G4GLOB_DLL std::ostream G4cout
G4PhysicalVolumesPair Place(const G4Transform3D &transform3D, const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, G4bool isMany, G4int copyNo, G4bool surfCheck=false)
virtual G4VPhysicalVolume * Construct()
Detector messenger class used in GDML read/write example.
void Write(const G4String &filename, const G4VPhysicalVolume *pvol=0, G4bool storeReferences=true, const G4String &SchemaLocation=G4GDML_DEFAULT_SCHEMALOCATION)
void SetStepFile(const G4String &File)
G02DetectorConstruction()
G4LogicalVolume * ParseST(const G4String &name, G4Material *medium, G4Material *solid)
Chamber parametrisation used in the GDML read/write example.
static const double kelvin
G4LogicalVolume * GetLogicalVolume() const
void AddPlacedVolume(G4LogicalVolume *pPlacedVolume, G4ThreeVector &translation, G4RotationMatrix *rotation)
G4LogicalVolume * ConstructAssembly()
void Read(const G4String &filename, G4bool Validate=true)
static const double atmosphere
G4LogicalVolume * ConstructSubDetector2()
void AddElement(G4Element *element, G4int nAtoms)
~G02DetectorConstruction()
static G4ElementTable * GetElementTable()
void SetVisAttributes(const G4VisAttributes *pVA)
Definition of the G02ChamberParameterisation class.