This repository has been archived by the owner on Sep 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Copied the ZDC constructor to create an initial template for the B0 ECal constructor. The internal details need to be modified. We can probably broadly mimic the logic for disc shaped homogeneous calorimeter in main epic repo (https://github.com/eic/epic/blob/main/src/HomogeneousCalorimeter_geo.cpp#L306).
Copied the template from (here)[https://github.com/eic/epic/blob/main/compact/ecal_backward_PbWO4.xml] to create a compact xml description for B0 Electromagnetic calorimeter. Internal details need to be modified.
Closed
… ECal Placing nominal values for position and dimension variables. Some probably should be defined in terms of external parametrization such as B0ECal_zcenter. Needs to be revisited after constructor functionality is fully implemented.
Copied the code to build and place individual modules from [here](https://github.com/eic/epic/blob/main/src/HomogeneousCalorimeter_geo.cpp#L196)
Copied the code to create disc of modules from [here](https://github.com/eic/epic/blob/main/src/HomogeneousCalorimeter_geo.cpp#L305). This part will need to be adapted. The B0 calorimeter has a oval cut out at the center. Approximate the cutout as a circle for now.
…main function Move declaration of detelement and sensitive detector type to top of main function. This is just a cosmetic change without any effect on functionality.
We can use an envelope volume or an assembly for B0 ECal parent. For now, mimicking the construction at (https://github.com/eic/epic/blob/main/src/HomogeneousCalorimeter_geo.cpp#L150) and using an assembly for B0 ecal parent.
1) Use assembly instead of envelope volume 2) Use default rotations imported through xml instead of applying sign change 3) Remove existing envelope volume definition (Might reinstate later if we go that route).
…al parent Removing the placeholder code associated with individual module placement in B0ECal parent
Copied module placement code from (here)[https://github.com/eic/epic/blob/main/src/HomogeneousCalorimeter_geo.cpp#L153}.
…for B0 ECal Keeping the option to add individual modules for now in case we go with a arbitrary external parametrization. Need to think more about the best way to deal with B0 ECal module positioning.
Use the correct name of the detector handler in extracting placements. Removed some white spaces.
There is a geometry helper header file in epic src directory that aids figuring out how to fill a disc with rectangles. If this attempt doesn't work, might need to add a relative path.
The geometry helper function cannot be called from inside ip6 since epic and ip6 are independent repository. For now, copying the function definition itself from [here](https://github.com/eic/epic/blob/main/src/GeometryHelpers.cpp).
Adding additional header file for handling 2D points in B0 ECal constructor
According to the declaration on line [32](https://github.com/eic/ip6/edit/24-implement-b0-pbwo4-ecal/src/B0ECal_geo.cpp), the name of the parent assembly is detVol. Need to call it by the correct name.
add_individuals function is called in line [54](24-implement-b0-pbwo4-ecal/src/B0ECal_geo.cpp#L54) inside main createDetector function but not initialized beforehand.
…tion and rotations Copied from [here](https://github.com/eic/epic/blob/main/src/HomogeneousCalorimeter_geo.cpp#L127)
Idea is to break up the shape into a inner radial and outer radial sector. The inner radial sector covers full azimuth while the outer radial covers the angular span of the pacman.
Rotating the pacman by 180 degrees with respect to the vertical axis to get it pointing to the right direction
Adding the id values for B0 ECal in ip6.xml. This also needs to be added to the epics definition file (https://github.com/eic/epic/blob/main/compact/definitions.xml#L258)
For simulation studies, either the ecal or the pre-shower would be used in B0. Make the ecal the default behavior.
Still getting issues with overlaps regarding the envelope. Turning it off to see individual modules intersect with any other component.
First step of moving the utility functions for B0 ECal into separate header and plugin files.
…0 ECal Adding a geometry helper to carry some of the utility functions for B0 ECal. The functions can be generalized to other components as well.
Removing the utility functions from the main B0 ECal file. This now have been moved to GeometryHelper.h and GeometryHelper.cpp
To avoid commented out blocks of code without context, keeping the B0_ECal.xml as the default (Only one of preshower or ecal should be active). We will create versioned farforward.xml files to allow alternate behavior.
Either a ecal or preshower will be used in the B0 in the far forward region. Adding versioning to allow for easy switching.
Closed
Generate both versions of ip6 geometry with preshower and ecal in pipeline
Updating the matrix variable name to geo because it is referring to geometry versions
Merged
8 tasks
wdconinc
approved these changes
Oct 11, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good.
Any idea why the required overlap checks are not reporting back?
Ah, right, turning it into a matrix job changes the name so it doesn't match the requirements anymore. This should be all good then. |
Updated branch with changes in master. |
rahmans1
changed the title
Draft: 24 implement b0 pbwo4 ecal
24 implement b0 pbwo4 ecal
Oct 11, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Briefly, what does this PR introduce?
Implement a PbWO4 calorimeter that can be used in the B0 region instead of the preshower.
What kind of change does this PR introduce?
Please check if this PR fulfills the following:
Does this PR introduce breaking changes? What changes might users need to make to their code?
User needs to modify farforward.xml and replace B0_preshower.xml with B0_ECal.xml to run sims with the ECal
Does this PR change default behavior?
We can decide later if we want to keep the preshower or the ECal as the default in the main geometry