79{
80
82
83
84 auto ghostLogicalVolume = GetWorld()->GetLogicalVolume();
85
86
87
88 G4int nbOfCrystals = 10;
89
90
91
92
93
94
95 G4double calo_xside = 31 * cm;
96 G4double calo_yside = 31 * cm;
97 G4double calo_zside = 24 * cm;
98
99 G4double crystalWidth = 3 * cm;
100 G4double crystalLength = 24 * cm;
101
102 calo_xside = (crystalWidth * nbOfCrystals) + 1 * cm;
103 calo_yside = (crystalWidth * nbOfCrystals) + 1 * cm;
104 calo_zside = crystalLength;
105
106 auto calo_box =
new G4Box(
"CMS calorimeter",
107 calo_xside / 2.,
108 calo_yside / 2., calo_zside / 2.);
110 dummy,
111 "calo log",
112 nullptr,
113 nullptr,
114 nullptr);
115
116 G4double xpos = 0.0;
117 G4double ypos = 0.0;
118 G4double zpos = 100.0 * cm;
119 new G4PVPlacement(
nullptr, G4ThreeVector(xpos, ypos, zpos), calo_log,
"calorimeter",
120 ghostLogicalVolume, false, 1);
121
123 calo_log->SetVisAttributes(caloVisAtt);
124
125
128 fRegion->AddRootLogicalVolume(calo_log);
129}