Comments (3)
Dear @Berrysoft
I cannot accept your patch as is because you are modifying a readonly function arguments on the fly. You were forced to remove the const to allow that and thus to change the signature of the function. This is a very bad practice, A readonly argument is... well... readonly. It means that the user must know in advance what he/she wants and does not expect his/her choice to be changed under the table if found unappropriate after some check.
Even using a local copy of ilevel and changing its value would be
a bad idea IMHO.
One never knows the possible side effects, for example if the requested value of the 'ilevel' parameter has been saved in a config file before it is changed then used by the code itself, this would make things hard to track and reproduce because the config file won't tell you this is basically an error that is fixed in some way by the code itself.
An error is an error. I prefer to detect it and throw an exception and let the user shout and cry for a while then re-run with the good set of parameters ! :-)
I'll try to find the reason of this issue ASAP. Probably I've skipped some check(s) from the original fortran code (the C++ port is only partly automated and request some manual ops... arrrghhh). The "Quadruple beta decay" mode has been added recently and I guess I have badly implemented it in the existing C++ code already merged from different versions.
My bad !
Anyway thanks for the report. I'm starting to work on it from your hints.
regards.
from bxdecay0.
Well, I hesitated when modifying ilevel_
, but finally kept the code because the FORTRAN code does that:
The patch above is only a possible patch, which only fixes for Nd150. I don't suggest just applying the patch, but suggest you checking the C++ code again. It seems that there are many checks for 0nu4b and maybe other modes missing when porting.
from bxdecay0.
Yes you are right. I have identified the missing stuff for the three 4beta emitters. I think I have a fix now. In principle I'll commit today after some tests.
And yes, the legacy fortran code was odd for this specific point ! It should return an error when modebb == 20 and ilevel != 0 .
Thanks again. I think we are close to a solution. Stay tuned!
Regards
from bxdecay0.
Related Issues (17)
- Issues with ex02 HOT 6
- Distributing bxdecay0 data and gA data on CVMFS? HOT 3
- Check for Geant4 support at configure time HOT 4
- Geant4 extension: Primary Generator Action class. HOT 10
- Install of BxDecay0 is not relocatable HOT 2
- CMake policy error when checking library component Geant4 with `find_dependency()` HOT 9
- Geant4 extension reports error when level = 0 HOT 1
- Wrong way to throw the decay time in Decay0? HOT 2
- vertex generation in Geant4 HOT 7
- Annoying `G4ParticleGun` printouts HOT 8
- Geant4 11 support HOT 2
- Invalid processing of particle times in some examples HOT 1
- Thread-safety HOT 2
- DBD gA process implementation HOT 1
- Using DECAY9 for background simulation of DUNE HOT 2
- U238 decay chain HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bxdecay0.