7 #include "GeoModelKernel/GeoCutVolAction.h" 
    8 #include "GeoModelKernel/GeoDefinitions.h" 
    9 #include "GeoModelKernel/GeoLogVol.h" 
   10 #include "GeoModelKernel/GeoMaterial.h" 
   11 #include "GeoModelKernel/GeoPhysVol.h" 
   12 #include "GeoModelKernel/GeoShapeIntersection.h" 
   13 #include "GeoModelKernel/GeoShapeSubtraction.h" 
   14 #include "GeoModelKernel/GeoTrd.h" 
   15 #include "GeoModelKernel/GeoVPhysVol.h" 
   21 #define skip_ded false 
   37         std::vector<Cutout *> vcutdef;
 
   39         return build(matManager, mysql, cutoutson, vcutdef);
 
   43                       int cutoutson, 
const std::vector<Cutout *>& vcutdef) {
 
   46         double tckaluminum = 
r->AlThickness;
 
   47         double honthickness = 
r->HoneyCombThickness;
 
   49         const GeoShape *shon = 
new GeoTrd(honthickness / 2, honthickness / 2, 
width / 2. - tckaluminum, 
longWidth / 2. - tckaluminum, 
length / 2. - tckaluminum);
 
   51         const GeoMaterial *mded = matManager.
getMaterial(
"std::Aluminium");
 
   52         GeoLogVol *lded = 
new GeoLogVol(
"DedModuleSkin", sded, mded);
 
   53         PVLink pded = 
new GeoPhysVol(lded);
 
   56         const GeoMaterial *mhon = matManager.
getMaterial(
"muo::RpcPapHonC");
 
   57         GeoLogVol *lhon = 
new GeoLogVol(
"DedModulehoneycomb", shon, mhon);
 
   58         PVLink phon = 
new GeoPhysVol(lhon);
 
   63         if (cutoutson && !vcutdef.empty()) {
 
   64             GeoIntrusivePtr<GeoPhysVol> tempPhys{};
 
   66             GeoShape *cutoutShape = 
nullptr;
 
   68             for (
unsigned i = 0; 
i < vcutdef.size(); 
i++) {
 
   71                 cutTrans = GeoTrf::Translate3D(0.0, 
cut->dx, -
length / 2 + 
cut->dy + 
cut->lengthY / 2.);
 
   73                 GeoIntrusivePtr<GeoVPhysVol> toCut{pded};
 
   74                 GeoCutVolAction cutAction(*cutoutShape, cutTrans);
 
   75                 toCut->apply(&cutAction);
 
   76                 tempPhys = cutAction.getPV();