26 #include <boost/algorithm/string.hpp> 
   30 #include "TGeoBoolNode.h" 
   31 #include "TGeoCompositeShape.h" 
   35 using Line2D = Eigen::Hyperplane<double, 2>;
 
   38     const Identifier& identifier, 
const TGeoNode& tGeoNode,
 
   39     const TGeoMatrix& tGeoMatrix, 
const std::string& axes, 
double scalor,
 
   40     std::shared_ptr<const Acts::ISurfaceMaterial> 
material)
 
   42       m_detElement(&tGeoNode),
 
   43       m_identifier(identifier) {
 
   46   const Double_t* translation = tGeoMatrix.GetTranslation();
 
   47   const Double_t* rotation = tGeoMatrix.GetRotationMatrix();
 
   50   auto tgShape = sensor->GetShape();
 
   53       *tgShape, rotation, translation, axes, scalor);
 
   54   auto cylinderBounds = std::get<0>(cylinderComps);
 
   55   if (cylinderBounds != 
nullptr) {
 
   59     m_surface = Surface::makeShared<CylinderSurface>(cylinderBounds, *
this);
 
   65         *tgShape, rotation, translation, axes, scalor);
 
   66     auto discBounds = std::get<0>(discComps);
 
   67     if (discBounds != 
nullptr) {
 
   71       m_surface = Surface::makeShared<DiscSurface>(discBounds, *
this);
 
   78         *tgShape, rotation, translation, axes, scalor);
 
   79     auto planeBounds = std::get<0>(planeComps);
 
   80     if (planeBounds != 
nullptr) {
 
   84       m_surface = Surface::makeShared<PlaneSurface>(planeBounds, *
this);
 
   90     m_surface->assignSurfaceMaterial(std::move(material));