Giter VIP home page Giter VIP logo

drich-dev's People

Contributors

c-dilks avatar chchatte92 avatar cpecar avatar jesse-campbell avatar kkauder avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drich-dev's Issues

`create_irt_auxfile` does not build if `irt` is not installed locally

Environment: (where does this bug occur, have you tried other environments)

  • Which branch (often main for latest released): main
  • Which version (or HEAD for the most recent on git):
  • Any specific OS or system where the issue occurs?
  • Any special versions of ROOT or Geant4?

Steps to reproduce: (give a step by step account of how to trigger the bug)

  1. clone drich-dev and EICrecon
  2. make

Expected Result: (what do you expect when you execute the steps above)

success

Actual Result: (what do you get when you execute the steps above)

failure

signal trap for `simulate.py`

so we can interrupt simulation jobs with SIGINT (^C from keyboard); currently SIGINT just kills simulate.py and leaves the underlying npsim job continuing

Cannot build local code with `make`

Environment: (where does this bug occur, have you tried other environments)

  • Which branch (often main for latest released): main
  • Which version (or HEAD for the most recent on git):
  • Any specific OS or system where the issue occurs?
  • Any special versions of ROOT or Geant4?

Steps to reproduce: (give a step by step account of how to trigger the bug)

  1. make

Expected Result: (what do you expect when you execute the steps above)

Successful build of the local code

Actual Result: (what do you get when you execute the steps above)

2023-11-27T19:06:39.3888671Z ----- build lib/libRichGeo.so -----
2023-11-27T19:06:39.3902231Z g++ /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeo.cc /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoDRICH.cc /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoPFRICH.cc /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/ReadoutGeo.cc -shared -o lib/libRichGeo.so -g -Wno-deprecated -fPIC -m64 -fno-inline -Wno-write-strings -DSPDLOG_FMT_EXTERNAL -pthread -std=c++20 -m64 -I/opt/software/linux-debian12-x86_64_v2/gcc-12.2.0/root-6.28.06-p6t2pezsnnydlb2a5wrv4xdvzzvnqorg/include/root -I/home/runner/work/drich-dev/drich-dev/prefix/include -I/home/runner/work/drich-dev/drich-dev/prefix/include/IRT -Isrc -I/usr/local/include -I/home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo -L/opt/software/linux-debian12-x86_64_v2/gcc-12.2.0/root-6.28.06-p6t2pezsnnydlb2a5wrv4xdvzzvnqorg/lib/root -lGui -lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTVecOps -lTree -lTreePlayer -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lMultiProc -lROOTDataFrame -Wl,-rpath,/opt/software/linux-debian12-x86_64_v2/gcc-12.2.0/root-6.28.06-p6t2pezsnnydlb2a5wrv4xdvzzvnqorg/lib/root -pthread -lm -ldl -rdynamic -L/home/runner/work/drich-dev/drich-dev/prefix/lib -lIRT -ledm4eic -L/usr/local/lib -lDDCore -lDDRec -lpodio -lpodioRootIO -ledm4hep -lfmt -lspdlog -lG4global -lG4materials -lG4geometry -lG4persistency
2023-11-27T19:06:42.9913706Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeo.cc:22:
2023-11-27T19:06:42.9932479Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:20:9: error: redefinition of 'class richgeo::Sensor'
2023-11-27T19:06:42.9934092Z    20 |   class Sensor {
2023-11-27T19:06:42.9934570Z       |         ^~~~~~
2023-11-27T19:06:42.9937777Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeo.h:21,
2023-11-27T19:06:42.9940197Z                  from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeo.cc:4:
2023-11-27T19:06:42.9943000Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:20:9: note: previous definition of 'class richgeo::Sensor'
2023-11-27T19:06:42.9944745Z    20 |   class Sensor {
2023-11-27T19:06:42.9945288Z       |         ^~~~~~
2023-11-27T19:06:42.9952018Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:34:8: error: multiple definition of 'enum richgeo::radiator_enum'
2023-11-27T19:06:42.9953812Z    34 |   enum radiator_enum {
2023-11-27T19:06:42.9954347Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:42.9955896Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:34:8: note: previous definition here
2023-11-27T19:06:42.9957266Z    34 |   enum radiator_enum {
2023-11-27T19:06:42.9957803Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:42.9960080Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:41:22: error: redefinition of 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:42.9962423Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:42.9963442Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:42.9965729Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:41:22: note: 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:42.9968406Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:42.9969420Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:42.9971682Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:52:14: error: redefinition of 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:42.9973943Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:42.9974897Z       |              ^~~~~~~~~~~
2023-11-27T19:06:42.9977072Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:52:14: note: 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:42.9979359Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:42.9980374Z       |              ^~~~~~~~~~~
2023-11-27T19:06:42.9982621Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:62:14: error: redefinition of 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:42.9984988Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:42.9986075Z       |              ^~~~~~~~~~~
2023-11-27T19:06:42.9988393Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:62:14: note: 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:42.9990589Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:42.9991550Z       |              ^~~~~~~~~~~
2023-11-27T19:06:42.9993841Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:67:14: error: redefinition of 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:42.9996691Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:42.9997820Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:06:43.0000175Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:67:14: note: 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:43.0002872Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:43.0003993Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:06:48.2492781Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoDRICH.h:19,
2023-11-27T19:06:48.2494911Z                  from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoDRICH.cc:4:
2023-11-27T19:06:48.2497332Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:20:9: error: redefinition of 'class richgeo::Sensor'
2023-11-27T19:06:48.2498820Z    20 |   class Sensor {
2023-11-27T19:06:48.2499277Z       |         ^~~~~~
2023-11-27T19:06:48.2500381Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeo.h:21,
2023-11-27T19:06:48.2502147Z                  from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoDRICH.h:18:
2023-11-27T19:06:48.2504553Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:20:9: note: previous definition of 'class richgeo::Sensor'
2023-11-27T19:06:48.2506106Z    20 |   class Sensor {
2023-11-27T19:06:48.2506575Z       |         ^~~~~~
2023-11-27T19:06:48.2508415Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:34:8: error: multiple definition of 'enum richgeo::radiator_enum'
2023-11-27T19:06:48.2510009Z    34 |   enum radiator_enum {
2023-11-27T19:06:48.2510571Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:48.2511927Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:34:8: note: previous definition here
2023-11-27T19:06:48.2513313Z    34 |   enum radiator_enum {
2023-11-27T19:06:48.2513828Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:48.2516007Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:41:22: error: redefinition of 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:48.2518318Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2519309Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:48.2521615Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:41:22: note: 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:48.2523977Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2525017Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:48.2527576Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:52:14: error: redefinition of 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:48.2529910Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2530934Z       |              ^~~~~~~~~~~
2023-11-27T19:06:48.2533234Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:52:14: note: 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:48.2535649Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2536655Z       |              ^~~~~~~~~~~
2023-11-27T19:06:48.2539411Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:62:14: error: redefinition of 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:48.2541819Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2543147Z       |              ^~~~~~~~~~~
2023-11-27T19:06:48.2545391Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:62:14: note: 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:48.2547776Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2548759Z       |              ^~~~~~~~~~~
2023-11-27T19:06:48.2550948Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:67:14: error: redefinition of 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:48.2553334Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2554394Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:06:48.2556723Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:67:14: note: 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:48.2559260Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:48.2560366Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:06:53.5627511Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoPFRICH.cc:29:
2023-11-27T19:06:53.5630269Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:20:9: error: redefinition of 'class richgeo::Sensor'
2023-11-27T19:06:53.5631748Z    20 |   class Sensor {
2023-11-27T19:06:53.5632208Z       |         ^~~~~~
2023-11-27T19:06:53.5633423Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeo.h:21,
2023-11-27T19:06:53.5635149Z                  from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoPFRICH.h:16,
2023-11-27T19:06:53.5636951Z                  from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/IrtGeoPFRICH.cc:4:
2023-11-27T19:06:53.5639420Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:20:9: note: previous definition of 'class richgeo::Sensor'
2023-11-27T19:06:53.5641016Z    20 |   class Sensor {
2023-11-27T19:06:53.5641506Z       |         ^~~~~~
2023-11-27T19:06:53.5643324Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:34:8: error: multiple definition of 'enum richgeo::radiator_enum'
2023-11-27T19:06:53.5644853Z    34 |   enum radiator_enum {
2023-11-27T19:06:53.5645353Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:53.5647079Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:34:8: note: previous definition here
2023-11-27T19:06:53.5648441Z    34 |   enum radiator_enum {
2023-11-27T19:06:53.5648970Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:53.5651138Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:41:22: error: redefinition of 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:53.5653488Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5654495Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:53.5656749Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:41:22: note: 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:53.5659163Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5660728Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:53.5663104Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:52:14: error: redefinition of 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:53.5665911Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5666969Z       |              ^~~~~~~~~~~
2023-11-27T19:06:53.5669249Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:52:14: note: 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:53.5671634Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5672659Z       |              ^~~~~~~~~~~
2023-11-27T19:06:53.5674885Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:62:14: error: redefinition of 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:53.5677249Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5678268Z       |              ^~~~~~~~~~~
2023-11-27T19:06:53.5680435Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:62:14: note: 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:53.5682850Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5683932Z       |              ^~~~~~~~~~~
2023-11-27T19:06:53.5686534Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:67:14: error: redefinition of 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:53.5688950Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5690037Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:06:53.5692371Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:67:14: note: 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:53.5694925Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:53.5696042Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:06:59.2859065Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/ReadoutGeo.cc:26:
2023-11-27T19:06:59.2862010Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:20:9: error: redefinition of 'class richgeo::Sensor'
2023-11-27T19:06:59.2863120Z    20 |   class Sensor {
2023-11-27T19:06:59.2863455Z       |         ^~~~~~
2023-11-27T19:06:59.2864365Z In file included from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/ReadoutGeo.h:24,
2023-11-27T19:06:59.2865687Z                  from /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/ReadoutGeo.cc:6:
2023-11-27T19:06:59.2867314Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:20:9: note: previous definition of 'class richgeo::Sensor'
2023-11-27T19:06:59.2868254Z    20 |   class Sensor {
2023-11-27T19:06:59.2868529Z       |         ^~~~~~
2023-11-27T19:06:59.2869542Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:34:8: error: multiple definition of 'enum richgeo::radiator_enum'
2023-11-27T19:06:59.2870624Z    34 |   enum radiator_enum {
2023-11-27T19:06:59.2871111Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:59.2872477Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:34:8: note: previous definition here
2023-11-27T19:06:59.2874220Z    34 |   enum radiator_enum {
2023-11-27T19:06:59.2874626Z       |        ^~~~~~~~~~~~~
2023-11-27T19:06:59.2875865Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:41:22: error: redefinition of 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:59.2877405Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2877994Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:59.2879205Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:41:22: note: 'std::string richgeo::RadiatorName(int, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:59.2880465Z    41 |   static std::string RadiatorName(int num, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2881021Z       |                      ^~~~~~~~~~~~
2023-11-27T19:06:59.2882232Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:52:14: error: redefinition of 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:59.2883491Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2884048Z       |              ^~~~~~~~~~~
2023-11-27T19:06:59.2885240Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:52:14: note: 'int richgeo::RadiatorNum(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:59.2887593Z    52 |   static int RadiatorNum(std::string name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2888518Z       |              ^~~~~~~~~~~
2023-11-27T19:06:59.2890570Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:62:14: error: redefinition of 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:59.2892774Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2893712Z       |              ^~~~~~~~~~~
2023-11-27T19:06:59.2895763Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:62:14: note: 'int richgeo::RadiatorNum(const char*, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:59.2897164Z    62 |   static int RadiatorNum(const char * name, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2897724Z       |              ^~~~~~~~~~~
2023-11-27T19:06:59.2898940Z /home/runner/work/drich-dev/drich-dev/prefix/include/services/geometry/richgeo/RichGeo.h:67:14: error: redefinition of 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)'
2023-11-27T19:06:59.2900269Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2900855Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:06:59.2902081Z /home/runner/work/drich-dev/drich-dev/EICrecon/src/services/geometry/richgeo/RichGeo.h:67:14: note: 'int richgeo::ParseRadiatorName(std::string, std::shared_ptr<spdlog::logger>)' previously defined here
2023-11-27T19:06:59.2903405Z    67 |   static int ParseRadiatorName(std::string input, std::shared_ptr<spdlog::logger> m_log = nullptr) {
2023-11-27T19:06:59.2903994Z       |              ^~~~~~~~~~~~~~~~~
2023-11-27T19:07:01.5378096Z make: *** [Makefile:61: lib/libRichGeo.so] Error 1

add CI workflow

Is your feature request related to a problem? Please describe.
Need continuous testing of everything.

Describe the solution you'd like
Add a CI workflow to run simulation, reconstruction, and benchmarks. PR reviews are proceeding slowly, so it would be very advantageous to run our own custom CI pipelines from here, configured to use our irt-algo development branches. We also have some performance studies here in drich-dev, that should be eventually migrated to reconstruction_benchmarks, but in the meantime, we can run them in CI here too.

Describe alternatives you've considered
Continue running everything by hand and being surprised by sudden problems.

`simulate.py` scans return only 1 event

Environment: (where does this bug occur, have you tried other environments)

  • Which branch (often main for latest released): main

Steps to reproduce: (give a step by step account of how to trigger the bug)

  1. simulate.py -t 6 -k 5 -n 30 (eta scan, used in CI)

Likely other tests (set with -t option) fail as well. simulate.py generates a Geant4 macro file then runs it with npsim; the tests that now (likely) fail have the following pattern:

/control/verbose 2
/run/initialize
/gps/verbose 2
/gps/particle pi+
/gps/number 1
/gps/position 0 0 0 cm

# eta scan, with varied azimuth for each eta bin

# eta=1.6  theta=22.828754832963863 deg
/gps/direction 0.2679262666315343 -0.2806111036063496 0.9216685544064713
/gps/ene/mono 4.862377599175745 GeV
/run/beamOn 1
/gps/direction 0.35670337364908533 -0.15260989170314782 0.9216685544064713
/gps/ene/mono 4.862377599175745 GeV
/run/beamOn 1
/gps/direction 0.355244674481362 -0.15597530917076796 0.9216685544064713
/gps/ene/mono 4.862377599175745 GeV
/run/beamOn 1
/gps/direction -0.3269047091825161 -0.2089506806224379 0.9216685544064713
/gps/ene/mono 4.862377599175745 GeV
/run/beamOn 1
/gps/direction 0.1315721232832751 0.3649874685424366 0.9216685544064713
/gps/ene/mono 4.862377599175745 GeV
/run/beamOn 1

...

Expected Result: (what do you expect when you execute the steps above)

An output file with many events, and stdout from npsim includes (irrelevant lines omitted):

ParticleHandler  INFO  +++ Event 0 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 1 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 2 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 3 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 4 Begin event action. Access event related information.
...

Actual Result: (what do you get when you execute the steps above)

An output file with 1 event, and the corresponding stdout is repeated for event 0:

ParticleHandler  INFO  +++ Event 0 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 0 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 0 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 0 Begin event action. Access event related information.
ParticleHandler  INFO  +++ Event 0 Begin event action. Access event related information.
...

See example CI log

organize scripts

Some are at the top level, others are in scripts. Some scripts are only meant to be called by another script.

  • leave build_*.sh and check_*.sh at the top level, since they are for general maintenance
  • top level should also have simulate.py and reconstruct.sh
  • all other scripts go to the scripts/ directory; it would be nice to categorize them but some scripts may fit in multiple categories
  • put any scripts which are meant to be called only by other scripts in scripts/src
  • consider moving ruby/ to scripts/src/

consolidate and cleanup `environ.sh`

  • consolidate with other existing setup scripts, such as the one rendered by epic/templates/setup.sh.in
  • remove juggler variables

Let's wait until it's clear how the EICrecon environment will be configured before attempting to resolve this issue.

update references to rendered XML files

eic/epic#54 would mean that "main" XML files such as ecce.xml and ecce_drich_only.xml would only appear in a build prefix.

  • add a new env var DETECTOR_PREFIX, which points to this prefix (likely EIC_SHELL_PREFIX/share/epic); already have done this on the dev-irt branch
    • DETECTOR_PATH will continue to point to ./epic, so local compact files such as epic/compact/drich.xml can still be edited on-the-fly
    • DETECTOR_PREFIX, on the other hand, will be for rendered XML files, and upstream ip6 files
  • several scripts will need to be updated, such as simulate.py

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.