From 1ba965442d1b3063e6e57d5752bfc8632f405b05 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten <sylvester.joosten@gmail.com> Date: Wed, 21 Apr 2021 17:38:30 +0000 Subject: [PATCH] Update benchmark for new EIC container --- .gitlab-ci.yml | 19 +++++++++++--- src/ci_GEM.cpp | 5 ++++ src/ci_HCAL.cpp | 67 ++++++++++++++++++++++++++----------------------- 3 files changed, 57 insertions(+), 34 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3cdcc019..ee965541 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,9 +11,22 @@ workflow: default: before_script: - mkdir -p images && mkdir -p doc/ - - git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git && ln -s accelerator/eic - - git clone https://eicweb.phy.anl.gov/EIC/detectors/ip6.git eic_ip6 && mkdir ip6_build && cd ip6_build && cmake ../eic_ip6/. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd .. && ln -s eic_ip6/ip6 - - mkdir build && cd build && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd .. + - git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git + && ln -s accelerator/eic + - git clone https://eicweb.phy.anl.gov/EIC/detectors/ip6.git eic_ip6 + && mkdir ip6_build + && cd ip6_build + && cmake ../eic_ip6/. -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_PREFIX=/usr/local + && make -j20 + && make install + && cd .. + && ln -s eic_ip6/ip6 || exit 1 + - mkdir build + && cd build + && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=17 + && make -j20 + && make install + && cd .. || exit 1 artifacts: paths: - images/ diff --git a/src/ci_GEM.cpp b/src/ci_GEM.cpp index 6b26f5e2..e41642c6 100644 --- a/src/ci_GEM.cpp +++ b/src/ci_GEM.cpp @@ -1,3 +1,8 @@ +#include "DD4hep/DetFactoryHelper.h" +#include "DD4hep/OpticalSurfaces.h" +#include "DD4hep/Printout.h" +#include "DDRec/DetectorData.h" +#include "DDRec/Surface.h" #include <XML/Helper.h> /////////////////////////// // Central Ion GEM diff --git a/src/ci_HCAL.cpp b/src/ci_HCAL.cpp index 8cd0cc74..6bd6a705 100644 --- a/src/ci_HCAL.cpp +++ b/src/ci_HCAL.cpp @@ -1,3 +1,8 @@ +#include "DD4hep/DetFactoryHelper.h" +#include "DD4hep/OpticalSurfaces.h" +#include "DD4hep/Printout.h" +#include "DDRec/DetectorData.h" +#include "DDRec/Surface.h" #include <XML/Helper.h> /////////////////////////// // Central Ion GEM @@ -8,45 +13,45 @@ using namespace dd4hep; static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens) { - xml::DetElement detElem = handle; - std::string detName = detElem.nameStr(); - int detID = detElem.id(); - xml::Component dims = detElem.dimensions(); - double RIn = dims.rmin(); - double ROut = dims.rmax(); - double SizeZ = dims.z_length(); - double ShiftZ = dims.z_offset(); - double PosZ = dims.z(); - double lay_RIn = dims.rmin1(); - double lay_ROut = dims.rmax1(); - double lay_dz = dims.dz(); - Material mat_iron = desc.material("Iron"); - Material mat_vac = desc.material("Vacuum"); - - //Outer volume - Tube ci_Hcal_Solid(RIn, ROut, SizeZ / 2., 0., 360 * dd4hep::deg); - Volume envelopeVol("ci_Hcal_Logic", ci_Hcal_Solid, mat_vac); - - //Iron tube for the layers + xml::DetElement detElem = handle; + std::string detName = detElem.nameStr(); + int detID = detElem.id(); + xml::Component dims = detElem.dimensions(); + double RIn = dims.rmin(); + double ROut = dims.rmax(); + double SizeZ = dims.z_length(); + double ShiftZ = dims.z_offset(); + double PosZ = dims.z(); + double lay_RIn = dims.rmin1(); + double lay_ROut = dims.rmax1(); + double lay_dz = dims.dz(); + Material mat_iron = desc.material("Iron"); + Material mat_vac = desc.material("Vacuum"); + + // Outer volume + Tube ci_Hcal_Solid(RIn, ROut, SizeZ / 2., 0., 360 * dd4hep::deg); + Volume envelopeVol("ci_Hcal_Logic", ci_Hcal_Solid, mat_vac); + + // Iron tube for the layers Tube ci_Hcal_detSolid(lay_RIn, lay_ROut, lay_dz / 2., 0., 360 * dd4hep::deg); - //Adding layers to placed detector volume - for (xml_coll_t li(detElem,_U(layer)); li; ++li){ - xml_comp_t x_layer = li; - std::string layer_name = detName + _toString(x_layer.id(), "_layer%d"); - Volume layer_vol(layer_name, ci_Hcal_detSolid, mat_iron); + // Adding layers to placed detector volume + for (xml_coll_t li(detElem, _U(layer)); li; ++li) { + xml_comp_t x_layer = li; + std::string layer_name = detName + _toString(x_layer.id(), "_layer%d"); + Volume layer_vol(layer_name, ci_Hcal_detSolid, mat_iron); layer_vol.setVisAttributes(detElem.visStr()); sens.setType("calorimeter"); layer_vol.setSensitiveDetector(sens); - Position layer_pos(0, 0, x_layer.z()); - PlacedVolume layer_phv = envelopeVol.placeVolume(layer_vol, layer_pos); - layer_phv.addPhysVolID("layer", x_layer.id()); + Position layer_pos(0, 0, x_layer.z()); + PlacedVolume layer_phv = envelopeVol.placeVolume(layer_vol, layer_pos); + layer_phv.addPhysVolID("layer", x_layer.id()); } - + DetElement det(detName, detID); Volume motherVol = desc.pickMotherVolume(det); - Transform3D tr(RotationZYX(0,0,0), Position(0, 0, ShiftZ)); - PlacedVolume detPV = motherVol.placeVolume(envelopeVol, tr); + Transform3D tr(RotationZYX(0, 0, 0), Position(0, 0, ShiftZ)); + PlacedVolume detPV = motherVol.placeVolume(envelopeVol, tr); detPV.addPhysVolID("system", detID); det.setPlacement(detPV); -- GitLab