Jean-Marco Alameddine (e256ff01) at 15 Mar 08:54
adapt invalid calls
Jean-Marco Alameddine (a13cc1d6) at 14 Mar 12:46
Make the corsika-data submodule point to the most recent commit.
I am a bit confused why this didn't work before. In the last PR (!600), I did a commit which should have updated the submodule: !600 (32773c52)
But somehow, the master still points at this state: https://gitlab.iap.kit.edu/AirShowerPhysics/corsika-data/-/tree/331c0aad7c6c17fe456c4a80f8b2575ef341ce90
I guess something went wrong earlier.
Jean-Marco Alameddine (a13cc1d6) at 14 Mar 11:39
fix corsika-data submodule
Yes. The conan build profile is, by default, set to Release
. So I have to either pass the different build type to CMake or to conan to make it work.
This way I fix the <bzlib.h>
error, and run into:
[ 60%] Building CXX object applications/CMakeFiles/c8_air_shower.dir/c8_air_shower.cpp.o
In file included from /home/jean/software/corsika_conan2/corsika/corsika/modules/writers/EnergyLossWriterParquet.hpp:12,
from /home/jean/software/corsika_conan2/corsika/corsika/modules/writers/EnergyLossWriter.hpp:16,
from /home/jean/software/corsika_conan2/corsika/applications/c8_air_shower.cpp:29:
/home/jean/software/corsika_conan2/corsika/corsika/output/ParquetStreamer.hpp:17:10: fatal error: parquet/stream_writer.h: No such file or directory
17 | #include <parquet/stream_writer.h>
When I just use arrow::arrow
with target_link_libraries
, it fails with linking errors for boost::filesystem
/usr/bin/ld: CMakeFiles/c8_air_shower.dir/c8_air_shower.cpp.o: in function `boost::filesystem::operator/(boost::filesystem::path const&, boost::filesystem::path const&)':
c8_air_shower.cpp:(.text._ZN5boost10filesystemdvERKNS0_4pathES3_[_ZN5boost10filesystemdvERKNS0_4pathES3_]+0x2e): undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
/usr/bin/ld: CMakeFiles/c8_air_shower.dir/c8_air_shower.cpp.o: in function `corsika::OutputManager::endOfLibrary()':
c8_air_shower.cpp:(.text._ZN7corsika13OutputManager12endOfLibraryEv[_ZN7corsika13OutputManager12endOfLibraryEv]+0x1a5): undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
/usr/bin/ld: c8_air_shower.cpp:(.text._ZN7corsika13OutputManager12endOfLibraryEv[_ZN7corsika13OutputManager12endOfLibraryEv]+0x1b0): undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
/usr/bin/ld: CMakeFiles/c8_air_shower.dir/c8_air_shower.cpp.o: in function `corsika::corsika_data(boost::filesystem::path const&)':
c8_air_shower.cpp:(.text._ZN7corsika12corsika_dataERKN5boost10filesystem4pathE[_ZN7corsika12corsika_dataERKN5boost10filesystem4pathE]+0x60): undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
/usr/bin/ld: c8_air_shower.cpp:(.text._ZN7corsika12corsika_dataERKN5boost10filesystem4pathE[_ZN7corsika12corsika_dataERKN5boost10filesystem4pathE]+0xe5): undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
/usr/bin/ld: CMakeFiles/c8_air_shower.dir/c8_air_shower.cpp.o:c8_air_shower.cpp:(.text._ZN7corsika21ParticleWriterParquet14startOfLibraryERKN5boost10filesystem4pathE[_ZN7corsika21ParticleWriterParquet14startOfLibraryERKN5boost10filesystem4pathE]+0x87): more undefined references to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' follow
collect2: error: ld returned 1 exit status
To make this work on my Ubuntu, I currently have to undo the link parquet instead of arrow
changes from 901fda97
Furthermore, I have to add the options "arrow/*:with_thrift": True
(otherwise, it won't build thrift) and "thrift/*:with_openssl": False
(otherwise, I get a version conflict) to conanfile.py
.
Then, the conan install
works. Trying to execute make
then fails with
In file included from /home/jean/software/corsika_conan2/corsika/modules/data/readLib/source/Interface.bz2.cc:11:
/home/jean/software/corsika_conan2/corsika/modules/data/readLib/externals/compress_stream/include/bzstream.hpp:44:10: fatal error: bzlib.h: No such file or directory
44 | #include <bzlib.h>
| ^~~~~~~~~
compilation terminated.
make[2]: *** [modules/data/readLib/CMakeFiles/CorsikaData.dir/build.make:63: modules/data/readLib/CMakeFiles/CorsikaData.dir/source/Interface.bz2.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:976: modules/data/readLib/CMakeFiles/CorsikaData.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
which I wasn't able to fix so far.
Yes and no.
I believe that with the plans we developed at the workshop, this might be automatically fixed.
This has been done, which means who use the c8_air_shower example won't see these warnings. However, people will see the warnings in case tables need to be built, which will be the case:
But table creation will only happen at the beginning of the first shower simulation.
I would say that this is still an issue.
There is a constructor for the ParticleCut
where one can define a cut explicitly for each particle type (https://gitlab.iap.kit.edu/AirShowerPhysics/corsika/-/blob/master/corsika/modules/ParticleCut.hpp?ref_type=heads#L65). So this can at least be used if someone wants to do something highly exotic.
But if you use the constructor with eEleCut
, ePhoCut
, eHadCut
, eMuCut
(which is, for example, done in the c8_air_shower script), the tau cut is not set (and will therefore be at 10 MeV kinetic energy). I don't think this is a big problem (since the tau is anyway going to decay I guess). But is might be good to make this more clear, and maybe just to decide for something so we can document it correctly
Closes #668
Yes, I completely agree.
The output of ShowerAxis
is ok for these edge cases. The writers need to correctly interpret this information, as the longitudinal writer now does thanks to these lines:
https://gitlab.iap.kit.edu/AirShowerPhysics/corsika/-/blob/master/corsika/detail/modules/writers/LongitudinalWriter.inl?ref_type=heads#L74
I just wanted to document this so that people writing new writers in the future now what to expect, so that we can avoid issues like #616 (closed) in the future :D
Jean-Marco Alameddine (fd59f8ba) at 07 Mar 14:46
Add documentation of ShowerAxis.hpp
Good question
If I understand correctly, this message is thrown in case the projection of the particle onto the shower axis is beyond or before the defined axis.
It would be a good idea to document the behavior (i.e., returning MinimumX
or MaximumX
). I can add a few sentences to the documentation of this code to make this clear.
Jean-Marco Alameddine (38dd7c3a) at 05 Mar 11:36
Jean-Marco Alameddine (286128f3) at 05 Mar 08:37
change include style
Done!
Jean-Marco Alameddine (b86bc9d9) at 04 Mar 19:00
Merge branch 'creation_of_proposal_utility_tables' of gitlab.iap.ki...
... and 1 more commit
Jean-Marco Alameddine (4ff835f3) at 04 Mar 12:00
my best friend clang-format
This PR adds the missing utility tables for tau leptons. Furthermore, missing tables for 1000 MeV energy cut settings are added.