Comments (11)
- Not moving G4 bindings into a new repo. Sub-folder good enough. I don't want to manage a separate repo that needs the NEST repo called separately.
- Examples are already in their own folder (Tools). I don't want more sub-folders, I like the way it is now.
- Talk to Jacob. This will annoy people on LUX and LZ again as yet another file location change. There is reason for it though with Detectors as a separate subfolder. This would require not only moving files but also re-writing README instructions on how to implement a new detector.
- Talk to Jacob. This will annoy people on LUX and LZ again as yet another file location change.
from nest.
We can ask Jacob. I just meant testSpectra and Testnest
from nest.
from nest.
Actually, Jason, I fear you are behind the times by several weeks. The headers have been moved around by Jacob and/or myself recently.
from nest.
from nest.
@jpbrodsky I meant the file locations within the repository. In this case, all the source and header files are spread out a bit. You're right that if somebody is just linking to the library, then after install, you have the headers in one place. I guess I should have been more clear: some ways that you can bind other languages to C++ require some sort of reflection so you know where all of the headers and cpp files are such that they can be 'patched' with the binding description (https://github.com/NESTCollaboration/nestpy). At least the way people recommended it to me, you ship the raw code with the bindings and let it compile during pip install
if no prebuilt binary exists for your setup.
The whole issue is not that big a deal (can skip this release or completely). My impression just of the repository itself was that the code locations felt nonstandard to me, but it's been a while since I've done any heavy C++ programming.
On the install location, do you want to make a quick pull request with the change about the install instructions?
from nest.
from nest.
Closed by #11
from nest.
The changes would be:
-
Rename Tools to examples
-
Create src
-
testNEST.cpp -> Tools/
-
testSpectra.cpp -> Tools/
-
Detectors/DetectorExample_XENON10.hh -> include
-
Detectors/VDetector.hh.hh -> include
-
NEST.cpp -> src
-
G4integration/ -> examples
-
Delete empty Detectors
Worth proposing here since it might require people binding to NEST to make changes. And we'd want to do this once perfectly. @jpbrodsky @mszydagis
from nest.
I'd suggest not moving the G4Integration folder, or at least not calling it an example.
The G4 integration code is not intended to be user-modifiable in the way an example should be. Users of the integration should use the classes provided in their G4 code, rather than trying to copy those classes into their project to modify them. This is because the logic required to pipe G4 tracks through the NEST model is complex and has tons of fiddly cases that break easily.
The G4 integration code is also not a ready-to-run example. It requires an existing G4 Monte Carlo to be added into.
from nest.
@tunnell I have collected solid feedback from everyone. And we would like to make the following modifications to your plan. I have composed an average compromise over everyone's ideas:
Rename Tools to examples: OK
Create src: OK
testNEST.cpp -> Tools/ No, into src instead please.
testSpectra.cpp -> Tools/ Is this a typo?? Did you mean into examples/ since renamed above?
Detectors/DetectorExample_XENON10.hh -> include Not quite: include/Detector
Detectors/VDetector.hh -> include: Again: include/Detector
NEST.cpp -> src: OK
G4integration/ -> examples: @jpbrodsky had said please no, so let's respect that.
Delete empty Detectors -- see above: preserve as its own subdirectory.
One more request, from LZ software expert L. Kreczko: include/*.hh -> include/NEST/ (so, then detector stuff will be in include/Detector in parallel, thus include folder itself will now be empty)
I can speak for LUX and LZ, and if Jason can speak for EXO-200/nEXO and you Chris for XENON1T/nT then all stakeholders have agreed. Please proceed and prepare these changes. Everyone agreed though: never again :) So, it's a case of speak now or forever hold peace..
from nest.
Related Issues (20)
- Kr83m model for deltaT< 100 ns HOT 8
- Density argument not used in Drift Velocity calculation HOT 4
- runNESTvec in execNEST.cpp deletes an input argument before terminating
- S1 efficiency depends on nHits HOT 2
- pulseArea GetS1 Gaussian width HOT 2
- BinomFluct normal approximation HOT 6
- Unused variable in GetS1 HOT 1
- Verbose level HOT 1
- Issues with gcem target when using externally HOT 1
- Making CMakeList more generic
- RecombOmegaER obscurities HOT 2
- Uncertainties in Vertex Positions HOT 1
- Units for detector parameters HOT 2
- Kr83m deltaT_ns HOT 10
- Missing references for longitudinal diffusion at lower drift field HOT 6
- Unnecessary hardcoding of energy later in loopNEST HOT 1
- NESTcalc::GetDriftVelocity_Liquid requires density as input, yet density is not used HOT 2
- Inconsistency in CMake Configuration Instructions HOT 2
- Modified Geant4 example
- NEST as conda-feedstock
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 nest.