-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Make PythiaDecays.h a standalone header. #18788
Make PythiaDecays.h a standalone header. #18788
Conversation
PythiaDecays.h currently doesn't compile on its own because we create a std::vector of RawParticle, which is only a forward declared class. This is already a border-case and *can* compile as long as we don't touch the vector itself in the rest of the header code. However, the destructor that is destroying the vector as part of the header code and is therefore is accessing it, so we get in the modules case compiler errors for this header. This patch just moves the constructor to the cpp file so that we generate the destruction code in the source file where we actually have the definition of RawParticle available.
Part of the work to solve the issue #15248 |
A new Pull Request was created by @Teemperor (Raphael Isemann) for master. It involves the following packages: FastSimulation/ParticleDecay @ssekmen, @lveldere, @civanch, @mdhildreth, @cmsbuild, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar |
+1 |
PythiaDecays.h currently doesn't compile on its own because we create
a std::vector of RawParticle, which is only a forward declared class.
This is already a border-case and can compile as long as we don't
touch the vector itself in the rest of the header code.
However, the destructor that is destroying the vector as part of
the header code and is therefore is accessing it, so we get in the
modules case compiler errors for this header.
This patch just moves the constructor to the cpp file so that we
generate the destruction code in the source file where we actually
have the definition of RawParticle available.