83 G4cout <<
"Defining the materials" << G4endl;
87 G4Material* air = nistManager->FindOrBuildMaterial(
"G4_AIR");
88 G4Material* pbWO4 = nistManager->FindOrBuildMaterial(
"G4_PbWO4");
93 G4double experimentalHall_x = 1000. * cm;
94 G4double experimentalHall_y = 1000. * cm;
95 G4double experimentalHall_z = 1000. * cm;
102 auto experimentalHallLog =
new G4LogicalVolume(experimentalHall_box, air,
"expHallLog",
109 "expHall", experimentalHallLog,
nullptr,
false, 0);
116 G4int nbOfCrystals = 10;
123 G4double calo_xside = 31 * cm;
124 G4double calo_yside = 31 * cm;
125 G4double calo_zside = 24 * cm;
127 G4double crystalWidth = 3 * cm;
128 G4double crystalLength = 24 * cm;
130 calo_xside = (crystalWidth * nbOfCrystals) + 1 * cm;
131 calo_yside = (crystalWidth * nbOfCrystals) + 1 * cm;
132 calo_zside = crystalLength;
134 auto calo_box =
new G4Box(
"CMS calorimeter",
136 calo_yside / 2., calo_zside / 2.);
146 G4double zpos = 100.0 * cm;
147 new G4PVPlacement(
nullptr, G4ThreeVector(xpos, ypos, zpos), caloLog,
"calorimeter",
148 experimentalHallLog,
false, 1);
152 experimentalHallLog->SetVisAttributes(G4VisAttributes::GetInvisible());
154 caloLog->SetVisAttributes(caloVisAtt);
159 fRegion->AddRootLogicalVolume(caloLog);
161 return experimentalHall_phys;