diff --git a/compact/pid/drich.xml b/compact/pid/drich.xml index cde823bfac..1ba614fc15 100644 --- a/compact/pid/drich.xml +++ b/compact/pid/drich.xml @@ -143,6 +143,11 @@ vis="DRICH_filter_vis" thickness="DRICH_filter_thickness" /> + diff --git a/src/DRICH_geo.cpp b/src/DRICH_geo.cpp index afb889935a..71e4f3df36 100644 --- a/src/DRICH_geo.cpp +++ b/src/DRICH_geo.cpp @@ -72,6 +72,11 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec auto airgapMat = desc.material(airgapElem.attr(_Unicode(material))); auto airgapVis = desc.visAttributes(airgapElem.attr(_Unicode(vis))); auto airgapThickness = airgapElem.attr(_Unicode(thickness)); + //ribs + auto ribElem = radiatorElem.child(_Unicode(rib)); + auto ribMat = desc.material(ribElem.attr(_Unicode(material))); + auto ribVis = desc.visAttributes(ribElem.attr(_Unicode(vis))); + auto ribThickness = ribElem.attr(_Unicode(thickness)); // - mirror auto mirrorElem = detElem.child(_Unicode(mirror)); auto mirrorMat = desc.material(mirrorElem.attr(_Unicode(material))); @@ -300,11 +305,67 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec det.setPlacement(vesselPV); // BUILD RADIATOR ==================================================================== - + float aeroMin = 0.; + float aeroMax = 0.; + float phiStart = 0.; + float phiEnd = 0.; + int nTiles[5] = {10, 20, 25, 30, 35}; // solid and volume: create aerogel and filter - Cone aerogelSolid(aerogelThickness / 2, radiatorRmin, radiatorRmax, - radiatorRmin + boreDelta * aerogelThickness / vesselLength, - radiatorRmax + snoutDelta * aerogelThickness / snoutLength); + auto radiatorPos = Position(0., 0., radiatorFrontplane + 0.5 * aerogelThickness) + originFront; + //std::cout<