Conversation
|
@locchiuto Are you able to address the review comments? Let me know if something is unclear. @chchatte92 Did you have a chance to look at this? |
|
|
@locchiuto are these comments clear to you and can you react to the comments? |
d2ccef3 to
8c546d4
Compare
for more information, see https://pre-commit.ci
|
@locchiuto did you push your changes to your branch? |
Please ignore. I can see the changes. |
|
Hi @veprbl sorry for the late reply. I am now totally lost with this PR. I still see the changes that I was mentioning. I am not sure, where @locchiuto is pushing her changes. I guess I will implement the changes this weekend. Just to mention: still in the source code the variables are accessed. @veprbl I see that you have removed the this varible `d'. |
chchatte92
left a comment
There was a problem hiding this comment.
@veprbl I see now your implemented changes.
|
Yes, please check that this is correct. Overwrite my work if you need to. |
|
@veprbl and @locchiuto I am working with this PR and my realization is that you are placing the aerogel holder structure and not the aerogel itself. That is in this PR we DON'T have an aerogel. @locchiuto, Can you please kindly point me to the fork that you made where I guess you had the aerogel placement? Chandra |
|
@veprbl I have converted this PR into a draft as I would like to make sure we are putting right thing in the main branch. |
| double phiStart = p * segmentSpacing; | ||
| double phiEnd = phiStart + segmentAngularWidth; | ||
|
|
||
| ConeSegment segmentSolid(crownHeight / 2.0, rMin_Zminus, rMax_Zminus, rMin_Zplus, |
There was a problem hiding this comment.
@locchiuto in this version of the code, where are you subtracting the aerogel radiator by using the coronas?
|
@veprbl I have made some recent changes. When you have some time, can you please give a super-critical look? |
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
|
@veprbl I have ensured
Can you please review now? |
| segmentSolidUnion_half = std::accumulate( | ||
| segmentSolids.begin() + 1, segmentSolids.end(), segmentSolids[0], | ||
| [](const Solid& a, const Solid& b) { return UnionSolid(a, b, Position(0., 0., 0.)); }); | ||
| crownAndSegmentSolid_half = UnionSolid(crownSolidUnion_half, segmentSolidUnion_half); |
There was a problem hiding this comment.
This is a union of two shapes constructed as union chains of cones or cone segments. Boolean operations are ineffective in Geant. Since cone shapes are concentric and non-intersecting, could you modify the algorithm to place all of those inside the aerogelVol directly?
There was a problem hiding this comment.
Implemented, but that appears to reveal another extrusion.
The inner crown ring to sits exactly outside the aerogel bounds:
> DRICH_geo INFO === AEROGEL VOLUME DIMENSIONS ===
> DRICH_geo INFO Aerogel half-height: 2.000000
> DRICH_geo INFO Aerogel rmin1 (front): 12.955806
> DRICH_geo INFO Aerogel rmax1 (front): 88.800000
> DRICH_geo INFO Aerogel rmin2 (back): 13.259580
> DRICH_geo INFO Aerogel rmax2 (back): 88.800000
> DRICH_geo INFO === CROWN 0 DIMENSIONS ===
> DRICH_geo INFO Crown half-height: 2.000000
> DRICH_geo INFO Crown rmin1 (bottom): 12.948211
> DRICH_geo INFO Crown rmax1 (bottom): 12.955806
> DRICH_geo INFO Crown rmin2 (top): 15.844059
> DRICH_geo INFO Crown rmax2 (top): 15.851654
Also dimension on the other side don't align by a lot (13 vs 16 cm?).
There was a problem hiding this comment.
Hi Dmitry, I am taking a couple of days off. I am back on Tuesday and will work on it. Thanks.
Co-authored-by: aider (anthropic/claude-sonnet-4-20250514) <aider@aider.chat>
for more information, see https://pre-commit.ci

Briefly, what does this PR introduce?
The aerogel, previously implemented as a single block, has been divided into two perfectly overlapping parts. A carbon-fiber structure has been integrated within the configuration, designed to mechanically support and encapsulate each aerogel element.
The main structural parameters are now easily configurable through the drich.xml file located in epic/compact/pid, without requiring direct modifications to the source code.
What kind of change does this PR introduce?
Tiled aerogel optics, tunable size
Please check if this PR fulfills the following:
Does this PR introduce breaking changes? What changes might users need to make to their code?
Does this PR change default behavior?