-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move filling of data classes (event/track/hits) into restG4 package instead of geant4lib #21
Comments
I dont see the reason to migrate out things from If it is that essential to include |
We should also have the mind open to the possibility to integrate other particle physics simulation packages (fluka, heed, ...) using the same existing Even if it will be named |
The data structure will be defined in geant4lib, the interface to fill this data structure will be defined in restG4, that is my idea. For example, we could have some slim classes in
|
Ok, then that does not imply changes on |
In principle no, only that some methods would be deprecated once this is implemented (we could keep them for compatibility reasons). But I still think its relevant to put this issue here, since it will take functionality away from |
Ok, then any new package implemented would need to integrate its own interface? We could probably leave the |
Agree, altought in my opinion |
Implemented in #59 |
Currently the logic to insert a Geant4 event/track/step into a geant4lib data structure is implemented inside
geant4lib
via, for example:In my opinion this logic should be implemented in restG4, and the argument for these method should be a Geant4 class such as
G4Track, G4Step
etc. At first glance I think the best solution would be to implement a constructor that takes only the equivalent Geant4 structure as argument (TRestGeant4Track::TRestGeant4Track(const G4Track* track)
), then we could place the tracks/steps into a container usingstd::vector
emplace_back
.However to achieve this we would probably need to define in the
restG4
package a derived class that implements this method/constructor, since obviously we do not want to link to Geant4 ingeant4lib
. Then we would cast the structure to the base class.The text was updated successfully, but these errors were encountered: