186 for (
auto& sensor : geo.getListOfSensors()) {
196 geo.getSensorInfo(sensor).getTransformation(
true));
208 for (
auto& halfShellPlacement : geo.getHalfShellPlacements()) {
210 if (halfShellPlacement.first.getLayerNumber() <= 2 and !
s_enablePXD)
213 if (halfShellPlacement.first.getLayerNumber() > 2 and !
s_enableSVD)
216 TGeoHMatrix trafoHalfShell = halfShellPlacement.second;
217 trafoHalfShell *= geo.getTGeoFromRigidBodyParams(
227 for (
auto& ladderPlacement : geo.getLadderPlacements(halfShellPlacement.first)) {
229 TGeoHMatrix trafoLadder = ladderPlacement.second;
230 trafoLadder *= geo.getTGeoFromRigidBodyParams(
241 for (
auto& sensorPlacement : geo.getSensorPlacements(ladderPlacement.first)) {
243 TGeoHMatrix trafoSensor = sensorPlacement.second;
244 trafoSensor *= geo.getTGeoFromRigidBodyParams(
253 trafoLadder * trafoSensor);
271 for (
auto& halfShellPlacement : geo.getHalfShellPlacements()) {
273 if (halfShellPlacement.first.getLayerNumber() <= 2 and !
s_enablePXD)
276 if (halfShellPlacement.first.getLayerNumber() > 2 and !
s_enableSVD)
279 TGeoHMatrix trafoHalfShell = halfShellPlacement.second;
280 trafoHalfShell *= geo.getTGeoFromRigidBodyParams(
290 for (
auto& ladderPlacement : geo.getLadderPlacements(halfShellPlacement.first)) {
292 TGeoHMatrix trafoLadder = ladderPlacement.second;
293 trafoLadder *= geo.getTGeoFromRigidBodyParams(
301 rigidBodyHierarchy.insertTGeoTransform<
VXDAlignment,
VXDAlignment>(ladderPlacement.first, halfShellPlacement.first, trafoLadder);
303 for (
auto& sensorPlacement : geo.getSensorPlacements(ladderPlacement.first)) {
305 TGeoHMatrix trafoSensor = sensorPlacement.second;
306 trafoSensor *= geo.getTGeoFromRigidBodyParams(
314 rigidBodyHierarchy.insertTGeoTransform<
VXDAlignment,
VXDAlignment>(sensorPlacement.first, ladderPlacement.first, trafoSensor);
321 }
catch (
const std::bad_cast& e) {