-
Notifications
You must be signed in to change notification settings - Fork 4
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
Feature dune v1.1 develop #11
Conversation
…ub:/MaCh3-Software/CUDAProb3 using OscClass are different than github:/dbarrow257/CUDAProb - Needs further investigation
…o atmospherics
…le lives in configs and anything not-configurable lives in inputs
…asses since POT isn't required for atmospherics
…y base classes or not intended to be used as one
…E into feature_DUNE_v1.1_develop Dan's changes to the executables and other things
…samplePDF objects
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.
Minor comments left to address
NDDetectorSystPointers = std::vector<const double*>(nNDDetectorSystPointers); | ||
|
||
int func_it = 0; | ||
for (std::vector<int>::iterator it = funcParsIndex.begin(); it != funcParsIndex.end(); ++it, ++func_it) { |
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.
why are we using manual iterators in 2024?
for(auto const &fpi : funcParsIndex){
//...
would be nice
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.
oh, I guess you want the enumeration index too,
for(int func_it = 0; func_it < nNDDetectorSystPointers; ++func_it){
auto const & fpi = funcParsIndex[func_it]; // or just use the full thing, iterators are confusing...
|
||
int samplePDFDUNEBeamFD::setupExperimentMC(int iSample) { | ||
const char *sampleFile = (mtuple_files[iSample]).c_str(); | ||
dunemc_base *duneobj = &(dunemcSamples[iSample]); |
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.
its fairly minor, but this is just unnecessary. We really can do without any bare pointers in most of this code:
auto &duneobj = dunemcSamples[iSample];
//...
duneobj.bla[i] = _bla;
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.
Only minor comments left which modify code style but don't change behaviour
Changing the DUNE code to be up to date with a new version of the core code. The version of the core code is currently being reviewed but will be release as a 2.0.0 tag.
The main changes consist of changing the constructor of the samplePDFFD object to take a lot of the information from the sample yaml file. This reduces the amount of code that need to be written in each samplePDFDune object.
We now also use the NuOscillator object to calculate oscillation probabilities in the core code.
The samplePDF objects in DUNE have also been slightly renamed to no longer include the word "base" in them as they are not intended to be base classes.
Lots of files have also been removed to reduce the clutter. A few additional exes will be added shortly for people to use as clear examples. There is also a "factory" method to initialise the different samplePDF instances meaning that a lot of executables can now be shared across the beam and atmoshperic samples.