89 "WorldLogical", 0, 0, 0);
102 G4Box *driftChamberBox
103 =
new G4Box(
"DriftChamberSolid", detectSize, detectSize, 40*
cm);
106 "DriftChamberLogical", 0, 0, 0);
110 "DriftChamberPhysical",
119 G4Box *calorimeterBox
120 =
new G4Box(
"CalorimeterSolid", detectSize, detectSize, 20*
cm);
122 "CalorimeterLogical", 0, 0, 0);
125 "CalorimeterPhysical",
137 G4Box *CrystalSolid =
new G4Box(
"CrystalSolid", CrystalX, CrystalY, CrystalZ);
139 "CrystalLogical", 0, 0, 0);
149 for (
G4int j = 0; j < fnY; j++)
151 yTlate = -detectSize + 3*CrystalY + j*2*CrystalY;
152 for (
G4int i = 0; i < fnX; i++)
154 xTlate = -detectSize + 3*CrystalX + i*2*CrystalX;
158 calorimeterPhys,
false,copyNo++);
170 =
new G4Box(
"HadCaloSolid", detectSize, detectSize, 50*
cm);
172 "HadCaloLogical", 0, 0, 0);
187 G4Box *TowerSolid =
new G4Box(
"TowerSolid", TowerX, TowerY, TowerZ);
189 "TowerLogical", 0, 0, 0);
197 for (
G4int jj = 0; jj < fnYhad; jj++)
199 yTlate = -detectSize + 3*TowerY + jj*2*TowerY;
200 for (
G4int i = 0; i < fnXhad; i++)
202 xTlate = -detectSize + 3*TowerX + i*2*TowerX;
206 hadCaloPhys,
false,copyNo++);
216 std::vector<double> cuts;
217 cuts.push_back(1.0*
mm);cuts.push_back(1.0*
mm);cuts.push_back(1.0*
mm);cuts.push_back(1.0*
mm);
225 cuts.push_back(1.0*
cm);cuts.push_back(1.0*
cm);cuts.push_back(1.0*
cm);cuts.push_back(1.0*
cm);
G4ProductionCuts * GetProductionCuts() const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static constexpr double mm
CLHEP::Hep3Vector G4ThreeVector
void AddRootLogicalVolume(G4LogicalVolume *lv)
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
void SetProductionCuts(G4ProductionCuts *cut)
static const G4VisAttributes & GetInvisible()
void SetForceWireframe(G4bool=true)
void SetVisAttributes(const G4VisAttributes *pVA)
void SetProductionCuts(std::vector< G4double > &)