Closed tomeichlersmith closed 4 years ago
Hi Tom,
Great, that is going to be useful.
Bertrand
On 7/31/2019 8:37 AM, Tom Eichlersmith wrote:
Currently, a lot of different parts of the geometry description are hard-coded in various producers/analyzers/classes. Isolating the geometry description to one class in the DetDescr module would allow for all modules to access the same geometry details, making it standard across the framework. Additionally, keeping the geometry in one place will make it easier to update (and maybe automatically load from a gdml description) in the future.
I started the class on this branch to help with the event display development, but I think it deserves to be separate because it could be helpful for everyone.
Right now, it has the HCAL and ECAL geometries with some accessor functions that are specialized for the event display. At the end of the implementation file, a namespace wide instance is created called |DETECTOR_GEOMETRY| which can be used any where the header file is included.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/LDMX-Software/ldmx-sw/issues/584?email_source=notifications&email_token=ABJ27JDEZU2RRZL52MUGYCDQCGWUNA5CNFSM4IIIAHT2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HCTHZ7A, or mute the thread https://github.com/notifications/unsubscribe-auth/ABJ27JEXSUIC3I7446UD65DQCGWUNANCNFSM4IIIAHTQ.
Before doing anything here, I would like to see a presentation with an outline on approach and the class hierarchy you are envisioning. A lot of work has already been done on this and I want to make sure that whatever classes you are going to push wont clash with what has already been done.
Also, using a singleton is something I want to avoid for now.
This would be a very large project, probably using an outside framework for working with detectors. My opinion is to use dd4hep (Detector Description 4 HEP), which is used for several other major experiments in HEP. It also has interfaces for event displays, ROOT, Geant4, and reconstruction pipelines.
Because this is such a large project, I think it would be best to delay this until a later release (like 2.1 or 2.2) so that the other major changes we have made can be gotten used to.
Closing at this will be addressed by #592
Currently, a lot of different parts of the geometry description are hard-coded in various producers/analyzers/classes. Isolating the geometry description to one class in the DetDescr module would allow for all modules to access the same geometry details, making it standard across the framework. Additionally, keeping the geometry in one place will make it easier to update (and maybe automatically load from a gdml description) in the future.
I started the class on this branch to help with the event display development, but I think it deserves to be separate because it could be helpful for everyone.
Right now, it has the HCAL and ECAL geometries with some accessor functions that are specialized for the event display. At the end of the implementation file, a namespace wide instance is created called
DETECTOR_GEOMETRY
which can be used any where the header file is included.