48 void dumpGeometry(
const std::string& outputDir);
52 std::shared_ptr<const Acts::TrackingGeometry> tGeometry_;
54 G4VPhysicalVolume* findDaughterByName(G4VPhysicalVolume* pvol, G4String name);
55 void getAllDaughters(G4VPhysicalVolume* pvol);
56 static bool compareZlocation(
const G4VPhysicalVolume& pvol_a,
57 const G4VPhysicalVolume& pvol_b) {
58 return (pvol_a.GetTranslation().z() < pvol_b.GetTranslation().z());
60 void getComponentRing(
61 std::string super_layer_name, std::string component_type,
62 std::vector<std::reference_wrapper<G4VPhysicalVolume>>& components);
64 G4VPhysicalVolume* _ECAL;
66 const G4VPhysicalVolume& phex);
67 Acts::GeometryContext* gctx_;
69 void ConvertG4Rot(
const G4RotationMatrix& g4rot, Acts::RotationMatrix3& rot);
70 Acts::Vector3 ConvertG4Pos(
const G4ThreeVector& g4pos);
72 Acts::RotationMatrix3 x_rot_, y_rot_;
73 Acts::CuboidVolumeBuilder::LayerConfig buildLayerConfig(
74 const std::vector<std::shared_ptr<const Acts::Surface>>& rings,
75 double clearance = 0.001,
bool active =
true);