diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index eaeb68d..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -cmake_minimum_required(VERSION 3.13) -project(SPS_SABRE_EventBuilder) -set(CMAKE_CXX_STANDARD 11) - -find_package(ROOT 6.22 CONFIG REQUIRED) - -if(${ROOT_VERSION} VERSION_LESS "6.20") - include("${ROOT_DIR}/modules/RootNewMacros.cmake") - # For ROOT versions than 6.16, things break - # if nothing is in the global include list! - if (${ROOT_VERSION} VERSION_LESS "6.16") - include_directories(ROOT_NONEXISTENT_DIRECTORY_HACK) - endif() -endif() - -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "..." FORCE) -endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - -set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") - -set(PCH_DIR ${CMAKE_CURRENT_LIST_DIR}/src) - -add_subdirectory(vendor/spdlog) -add_subdirectory(src) \ No newline at end of file diff --git a/include/DataStructs.h b/include/DataStructs.h index e0c3a35..d57fb39 100644 --- a/include/DataStructs.h +++ b/include/DataStructs.h @@ -6,6 +6,8 @@ #ifndef DATA_STRUCTS_H #define DATA_STRUCTS_H +#include + struct DPPChannel { double Timestamp; diff --git a/include/EVBMainFrame.h b/include/EVBMainFrame.h deleted file mode 100644 index 0afb519..0000000 --- a/include/EVBMainFrame.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef EVBMAINFRAME_H -#define EVBMAINFRAME_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../evb/EVBApp.h" - - -class EVBMainFrame : public TGMainFrame -{ -public: - EVBMainFrame(const TGWindow* p, UInt_t w, UInt_t h); - virtual ~EVBMainFrame(); - void CloseWindow(); - void HandleMenuSelection(int id); - void DoOpenWorkdir(); - void DoOpenCMapfile(); - void DoOpenSMapfile(); - void DoOpenScalerfile(); - void DoOpenCutfile(); - void DoRun(); - void HandleTypeSelection(int box, int entry); - bool SetParameters(); - void DisplayWorkdir(const char* dir); - void DisplayCMap(const char* file); - void DisplaySMap(const char* file); - void DisplayScaler(const char* file); - void DisplayCut(const char* file); - void SaveConfig(const char* file); - void LoadConfig(const char* file); - void UpdateWorkdir(); - void UpdateCMap(); - void UpdateSMap(); - void UpdateScaler(); - void UpdateCut(); - void RunPlot(); - void RunMerge(const char* dir, const char* file); - void DisableAllInput(); - void EnableAllInput(); - void SetProgressBarPosition(long value, long total); - - - enum WidgetId - { - WorkDir, - Cmap, - Smap, - Scaler, - Cut, - PlotF, - BField, - Bke, - Theta, - ZT, - AT, - ZP, - AP, - ZE, - AE, - SlowWind, - FastWind_IC, - FastWind_Sabre, - TypeBox, - RMin, - RMax, - M_Load_Config, - M_Save_Config, - M_Exit - }; - - ClassDef(EVBMainFrame, 0); - -private: - TGTextButton *fRunButton, *fOpenWorkButton, *fOpenCMapButton, *fOpenSMapButton, *fOpenScalerButton, *fOpenCutButton; - TGTextEntry *fWorkField; - TGTextEntry *fCMapField, * fSMapField; - TGTextEntry *fScalerField, *fCutField; - TGComboBox *fTypeBox; - - TGNumberEntryField *fZTField, *fATField, *fZPField, *fAPField, *fZEField, *fAEField; - TGNumberEntryField *fBField, *fBKEField, *fThetaField; - TGNumberEntryField *fSlowWindowField, *fFastICField, *fFastSABREField; - TGNumberEntryField *fRMinField, *fRMaxField; - - TGHProgressBar* fProgressBar; - - TGPopupMenu *fFileMenu; - - TGFileInfo* fInfo; - - EventBuilder::EVBApp fBuilder; - - int counter; - UInt_t MAIN_W, MAIN_H; - - -}; -#endif diff --git a/include/FileViewFrame.h b/include/FileViewFrame.h deleted file mode 100644 index 237c533..0000000 --- a/include/FileViewFrame.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - - FileViewFrame.h - Wrapper class on a TGTransientFrame (temporary frame assoc. with a main frame) - Designed to graphically display directories and files for selection. Takes in a type - to specify the signal pathing. - - Written by G.W. McCann Sep. 2020 - -*/ - -#ifndef FILEVIEWFRAME_H -#define FILEVIEWFRAME_H - -#include "EVBMainFrame.h" -#include -#include -#include -#include -#include - -class FileViewFrame { - - RQ_OBJECT("FileViewFrame"); //ROOT wrapping into the gui environment -public: - FileViewFrame(const TGWindow* p, const TGFrame* main, UInt_t w, UInt_t h, EVBMainFrame *parent, int type); - virtual ~FileViewFrame(); - void CloseWindow(); - void DoOk(); - void DoCancel(); - void DoDoubleClick(TGLVEntry* entry, int id); - void DisplayDir(const TString& name); - void SendText(const char* text); // *SIGNAL* - ClassDef(FileViewFrame, 0); //ROOT requirement - -private: - TGTransientFrame *fMain; - TGTextButton *fOkButton, *fCancelButton; - TGTextEntry *fNameField; - TGFileContainer *fContents; - TGListView *fViewer; - std::string suffix; - bool dirFlag; -}; - -#endif \ No newline at end of file diff --git a/premake5.lua b/premake5.lua new file mode 100644 index 0000000..0481183 --- /dev/null +++ b/premake5.lua @@ -0,0 +1,217 @@ +workspace "EVB" + architecture "x64" + configurations { + "Release", + "Debug" + } + +ROOTIncludeDir = "/home/gordon/cern/root-6.22.02/root-install/include" +ROOTLibDir = "/home/gordon/cern/root-6.22.02/root-install/lib" + +project "SPSDict" + kind "SharedLib" + language "C++" + cppdialect "c++11" + targetdir "./lib/" + objdir "./objs/" + + prebuildcommands { + "rootcint -f src/spsdict/sps_dict.cxx src/spsdict/DataStructs.h src/spsdict/LinkDef_sps.h", + "{COPY} src/spsdict/*.pcm ./lib/" + } + + postbuildcommands { + "{COPY} src/spsdict/DataStructs.h ./include/" + } + + files { + "src/spsdict/DataStructs.h", + "src/spsdict/*.cpp", + "src/spsdict/*.cxx" + } + + includedirs { + "./", + "src/spsdict", + } + + sysincludedirs { + ROOTIncludeDir + } + + libdirs { + ROOTLibDir + } + + links { + "Gui", "Core", "Imt", "RIO", "Net", "Hist", + "Graf", "Graf3d", "Gpad", "ROOTDataFrame", "ROOTVecOps", + "Tree", "TreePlayer", "Rint", "Postscript", "Matrix", + "Physics", "MathCore", "Thread", "MultiProc", "m", "dl" + } + + filter "system:macosx or linux" + linkoptions { + "-pthread", + "-rdynamic" + } + + filter "configurations:Debug" + symbols "On" + + filter "configurations:Release" + optimize "On" + +project "EventBuilderCore" + kind "StaticLib" + language "C++" + cppdialect "c++11" + targetdir "./lib/" + objdir "./objs/" + pchheader "EventBuilder.h" + pchsource "./src/EventBuilder.cpp" + + files { + "src/spsdict/DataStructs.h", + "src/evb/*.cpp", + "src/evb/*.h" + } + + defines "ETC_DIR_PATH=\"./etc/\"" + + includedirs { + "./", + "src/", + "vendor/spdlog/include", + "src/evb", + "src/spsdict", + "src/guidict" + } + + sysincludedirs { + ROOTIncludeDir + } + + libdirs { + ROOTLibDir, + } + + links { + "SPSDict", "Gui", "Core", "Imt", "RIO", "Net", "Hist", + "Graf", "Graf3d", "Gpad", "ROOTDataFrame", "ROOTVecOps", + "Tree", "TreePlayer", "Rint", "Postscript", "Matrix", + "Physics", "MathCore", "Thread", "MultiProc", "m", "dl" + } + + filter "system:macosx or linux" + linkoptions { + "-pthread", + "-rdynamic" + } + + filter "configurations:Debug" + symbols "On" + + filter "configurations:Release" + optimize "On" + +project "EventBuilderGui" + kind "ConsoleApp" + language "C++" + cppdialect "c++11" + targetdir "./bin/" + objdir "./objs/" + + prebuildcommands { + "rootcint -f src/guidict/gui_dict.cxx src/guidict/EVBMainFrame.h src/guidict/FileViewFrame.h src/guidict/LinkDef_Gui.h", + "{COPY} src/guidict/*.pcm ./bin/" + } + + files { + "src/guidict/FileViewFrame.h", + "src/guidict/EVBMainFrame.h", + "src/guidict/*.cpp", + "src/guidict/gui_dict.cxx", + "src/gui_main.cpp" + } + + includedirs { + "./", + "vendor/spdlog/include", + "src/evb", + "src/spsdict", + "src/guidict" + } + + sysincludedirs { + ROOTIncludeDir + } + + libdirs { + ROOTLibDir, + } + + links { + "EventBuilderCore", "SPSDict", "Gui", "Core", "Imt", "RIO", "Net", "Hist", + "Graf", "Graf3d", "Gpad", "ROOTDataFrame", "ROOTVecOps", + "Tree", "TreePlayer", "Rint", "Postscript", "Matrix", + "Physics", "MathCore", "Thread", "MultiProc", "m", "dl" + } + + filter "system:macosx or linux" + linkoptions { + "-pthread", + "-rdynamic" + } + + filter "configurations:Debug" + symbols "On" + + filter "configurations:Release" + optimize "On" + +project "EventBuilder" + kind "ConsoleApp" + language "C++" + cppdialect "c++11" + targetdir "./bin/" + objdir "./objs/" + + files { + "src/main.cpp" + } + + includedirs { + "src/", + "vendor/spdlog/include", + "src/evb", + "src/spsdict", + "src/guidict" + } + + sysincludedirs { + ROOTIncludeDir + } + + libdirs { + ROOTLibDir, + } + + links { + "EventBuilderCore", "SPSDict", "Gui", "Core", "Imt", "RIO", "Net", "Hist", + "Graf", "Graf3d", "Gpad", "ROOTDataFrame", "ROOTVecOps", + "Tree", "TreePlayer", "Rint", "Postscript", "Matrix", + "Physics", "MathCore", "Thread", "MultiProc", "m", "dl" + } + + filter "system:macosx or linux" + linkoptions { + "-pthread", + "-rdynamic" + } + + filter "configurations:Debug" + symbols "On" + + filter "configurations:Release" + optimize "On" \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index 6d74707..0000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,146 +0,0 @@ -add_subdirectory(spsdict) -add_subdirectory(guidict) - -add_executable(EventBuilder) -target_compile_definitions(EventBuilder PUBLIC ETC_DIR_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../etc/") -target_sources(EventBuilder - PRIVATE - main.cpp - evb/ChannelMap.cpp - evb/ChannelMap.h - evb/CompassFile.cpp - evb/CompassFile.h - evb/CompassRun.cpp - evb/CompassRun.h - evb/CutHandler.cpp - evb/CutHandler.h - evb/EVBApp.cpp - evb/EVBApp.h - evb/FastSort.cpp - evb/FastSort.h - evb/FlagHandler.cpp - evb/FlagHandler.h - evb/FP_kinematics.cpp - evb/FP_kinematics.h - evb/MassLookup.cpp - evb/MassLookup.h - evb/OrderChecker.cpp - evb/OrderChecker.h - evb/RunCollector.cpp - evb/RunCollector.h - evb/SFPAnalyzer.cpp - evb/SFPAnalyzer.h - evb/SFPPlotter.cpp - evb/SFPPlotter.h - evb/SlowSort.cpp - evb/SlowSort.h - evb/Stopwatch.cpp - evb/Stopwatch.h - evb/ShiftMap.cpp - evb/ShiftMap.h - evb/Logger.h - evb/Logger.cpp - spsdict/DataStructs.h -) -target_include_directories(EventBuilder PUBLIC ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/evb ${CMAKE_CURRENT_LIST_DIR}/spsdict ${SPDLOG_INCLUDE}) -target_precompile_headers(EventBuilder PUBLIC ${PCH_DIR}/EventBuilder.h) -target_link_libraries(EventBuilder - PUBLIC - SPSDict - ROOT::Gui - ROOT::Core - ROOT::Gpad - ROOT::Graf3d - ROOT::Graf - ROOT::Hist - ROOT::Imt - ROOT::MathCore - ROOT::Matrix - ROOT::MultiProc - ROOT::Net - ROOT::Physics - ROOT::Postscript - ROOT::RIO - ROOT::ROOTDataFrame - ROOT::ROOTVecOps - ROOT::Rint - ROOT::Thread - ROOT::TreePlayer - ROOT::Tree - spdlog::spdlog -) - - -add_executable(EventBuilderGui) -target_compile_definitions(EventBuilderGui PUBLIC ETC_DIR_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../etc/") -target_sources(EventBuilderGui - PRIVATE - gui_main.cpp - evb/ChannelMap.cpp - evb/ChannelMap.h - evb/CompassFile.cpp - evb/CompassFile.h - evb/CompassRun.cpp - evb/CompassRun.h - evb/CutHandler.cpp - evb/CutHandler.h - evb/EVBApp.cpp - evb/EVBApp.h - evb/FastSort.cpp - evb/FastSort.h - evb/FlagHandler.cpp - evb/FlagHandler.h - evb/FP_kinematics.cpp - evb/FP_kinematics.h - evb/MassLookup.cpp - evb/MassLookup.h - evb/OrderChecker.cpp - evb/OrderChecker.h - evb/RunCollector.cpp - evb/RunCollector.h - evb/SFPAnalyzer.cpp - evb/SFPAnalyzer.h - evb/SFPPlotter.cpp - evb/SFPPlotter.h - evb/SlowSort.cpp - evb/SlowSort.h - evb/Stopwatch.cpp - evb/Stopwatch.h - evb/ShiftMap.cpp - evb/ShiftMap.h - evb/Logger.h - evb/Logger.cpp - spsdict/DataStructs.h - guidict/EVBMainFrame.h - guidict/FileViewFrame.h -) -target_include_directories(EventBuilderGui PUBLIC ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/evb ${CMAKE_CURRENT_LISTDIR}/spsdict ${CMAKE_CURRENT_LIST_DIR}/guidict ${SPDLOG_INCLUDE}) -target_precompile_headers(EventBuilderGui REUSE_FROM EventBuilder) -target_link_libraries(EventBuilderGui - PUBLIC - SPSDict - GUIDict - ROOT::Gui - ROOT::Core - ROOT::Gpad - ROOT::Graf3d - ROOT::Graf - ROOT::Hist - ROOT::Imt - ROOT::MathCore - ROOT::Matrix - ROOT::MultiProc - ROOT::Net - ROOT::Physics - ROOT::Postscript - ROOT::RIO - ROOT::ROOTDataFrame - ROOT::ROOTVecOps - ROOT::Rint - ROOT::Thread - ROOT::TreePlayer - ROOT::Tree - spdlog::spdlog -) - -install(TARGETS EventBuilder EventBuilderGui RUNTIME DESTINATION bin) \ No newline at end of file diff --git a/src/EventBuilder.cpp b/src/EventBuilder.cpp new file mode 100644 index 0000000..9b9e67c --- /dev/null +++ b/src/EventBuilder.cpp @@ -0,0 +1,3 @@ +//For MSVC pch + +#include "EventBuilder.h" \ No newline at end of file diff --git a/src/evb/ChannelMap.cpp b/src/evb/ChannelMap.cpp index 943ba0b..fcbdc8d 100644 --- a/src/evb/ChannelMap.cpp +++ b/src/evb/ChannelMap.cpp @@ -6,6 +6,7 @@ Written by G.W. McCann Oct. 2020 */ +#include "EventBuilder.h" #include "ChannelMap.h" namespace EventBuilder { diff --git a/src/evb/CompassFile.cpp b/src/evb/CompassFile.cpp index ca9e3ab..5012da3 100644 --- a/src/evb/CompassFile.cpp +++ b/src/evb/CompassFile.cpp @@ -8,6 +8,7 @@ Written by G.W. McCann Oct. 2020 */ +#include "EventBuilder.h" #include "CompassFile.h" namespace EventBuilder { @@ -86,7 +87,7 @@ namespace EventBuilder { m_file->seekg(0, std::ios_base::beg); - delete firstHit; + delete[] firstHit; return 24 + nsamples*16; diff --git a/src/evb/CompassRun.cpp b/src/evb/CompassRun.cpp index e606247..2ef9a52 100644 --- a/src/evb/CompassRun.cpp +++ b/src/evb/CompassRun.cpp @@ -9,6 +9,7 @@ Updated to also handle scaler data. -- GWM Oct. 2020 */ +#include "EventBuilder.h" #include "CompassRun.h" #include "RunCollector.h" #include "SlowSort.h" @@ -247,7 +248,7 @@ namespace EventBuilder { { count = 0; flush_count++; - m_progressCallback(count, m_totalHits); + m_progressCallback(flush_count*flush, m_totalHits); } if(!GetHitsFromFiles()) @@ -315,7 +316,7 @@ namespace EventBuilder { { count = 0; flush_count++; - m_progressCallback(count, m_totalHits); + m_progressCallback(flush_count*flush, m_totalHits); } if(!GetHitsFromFiles()) @@ -405,7 +406,7 @@ namespace EventBuilder { { count = 0; flush_count++; - m_progressCallback(count, m_totalHits); + m_progressCallback(flush_count*flush, m_totalHits); } if(!GetHitsFromFiles()) diff --git a/src/evb/CutHandler.cpp b/src/evb/CutHandler.cpp index c3a4cbd..520f98f 100644 --- a/src/evb/CutHandler.cpp +++ b/src/evb/CutHandler.cpp @@ -1,3 +1,4 @@ +#include "EventBuilder.h" #include "CutHandler.h" namespace EventBuilder { diff --git a/src/evb/EVBApp.cpp b/src/evb/EVBApp.cpp index badfc29..bd55ef1 100644 --- a/src/evb/EVBApp.cpp +++ b/src/evb/EVBApp.cpp @@ -6,6 +6,7 @@ Written by G.W. McCann Oct. 2020 */ +#include "EventBuilder.h" #include #include "EVBApp.h" #include "RunCollector.h" @@ -20,7 +21,8 @@ namespace EventBuilder { EVBApp::EVBApp() : m_rmin(0), m_rmax(0), m_ZT(0), m_AT(0), m_ZP(0), m_AP(0), m_ZE(0), m_AE(0), m_ZR(0), m_AR(0), m_B(0), m_Theta(0), m_BKE(0), m_progressFraction(0.1), m_workspace("none"), m_mapfile("none"), m_shiftfile("none"), - m_cutList("none"), m_SlowWindow(0), m_FastWindowIonCh(0), m_FastWindowSABRE(0) { + m_cutList("none"), m_scalerfile("none"), m_SlowWindow(0), m_FastWindowIonCh(0), m_FastWindowSABRE(0) + { SetProgressCallbackFunc(BIND_PROGRESS_CALLBACK_FUNCTION(EVBApp::DefaultProgressCallback)); } @@ -30,7 +32,7 @@ namespace EventBuilder { void EVBApp::DefaultProgressCallback(long curVal, long totalVal) { - double fraction = curVal/totalVal; + double fraction = ((double)curVal)/totalVal; EVB_INFO("Percent of run built: {0}", fraction*100); } diff --git a/src/evb/FP_kinematics.cpp b/src/evb/FP_kinematics.cpp index f01fdc8..8c1d968 100644 --- a/src/evb/FP_kinematics.cpp +++ b/src/evb/FP_kinematics.cpp @@ -31,6 +31,7 @@ */ +#include "EventBuilder.h" #include #include "MassLookup.h" #include "FP_kinematics.h" @@ -97,7 +98,6 @@ namespace EventBuilder { double denom = ME + MR - sqrt(MP*ME*EP/EE)*cos(angle); K /= denom; - std::cout<<"Delta Z= "<<-1*rho*DISP*MAG*K< #include "spdlog/spdlog.h" +#include "spdlog/fmt/ostr.h" namespace EventBuilder { diff --git a/src/evb/MassLookup.cpp b/src/evb/MassLookup.cpp index 972f5de..4352589 100644 --- a/src/evb/MassLookup.cpp +++ b/src/evb/MassLookup.cpp @@ -8,6 +8,7 @@ of this map (MASS) for use throughout code it is included into. Written by G.W. McCann Aug. 2020 */ +#include "EventBuilder.h" #include "MassLookup.h" namespace EventBuilder { diff --git a/src/evb/OrderChecker.cpp b/src/evb/OrderChecker.cpp index e7ad1f7..55db24b 100644 --- a/src/evb/OrderChecker.cpp +++ b/src/evb/OrderChecker.cpp @@ -5,6 +5,7 @@ Written by G.W. McCann Oct. 2020 */ +#include "EventBuilder.h" #include "OrderChecker.h" namespace EventBuilder { diff --git a/src/evb/RunCollector.cpp b/src/evb/RunCollector.cpp index 725afb1..3c983e1 100644 --- a/src/evb/RunCollector.cpp +++ b/src/evb/RunCollector.cpp @@ -1,3 +1,4 @@ +#include "EventBuilder.h" #include "RunCollector.h" #include #include diff --git a/src/evb/SFPAnalyzer.cpp b/src/evb/SFPAnalyzer.cpp index d645f88..a4524bc 100644 --- a/src/evb/SFPAnalyzer.cpp +++ b/src/evb/SFPAnalyzer.cpp @@ -9,6 +9,7 @@ * * Position calibrations swapped as of Aug. 2021 due to detector fixes -- GWM */ +#include "EventBuilder.h" #include "SFPAnalyzer.h" namespace EventBuilder { diff --git a/src/evb/SFPPlotter.cpp b/src/evb/SFPPlotter.cpp index 1067c36..8aa7205 100644 --- a/src/evb/SFPPlotter.cpp +++ b/src/evb/SFPPlotter.cpp @@ -6,6 +6,7 @@ *Created Jan 2020 by GWM */ +#include "EventBuilder.h" #include "SFPPlotter.h" #include diff --git a/src/evb/ShiftMap.cpp b/src/evb/ShiftMap.cpp index b7c56e5..91b8eda 100644 --- a/src/evb/ShiftMap.cpp +++ b/src/evb/ShiftMap.cpp @@ -9,6 +9,7 @@ Written by G.W. McCann Oct. 2020 */ +#include "EventBuilder.h" #include "ShiftMap.h" namespace EventBuilder { diff --git a/src/evb/SlowSort.cpp b/src/evb/SlowSort.cpp index 57db405..85edd47 100644 --- a/src/evb/SlowSort.cpp +++ b/src/evb/SlowSort.cpp @@ -7,6 +7,7 @@ * *Refurbished and updated Jan 2020 GWM */ +#include "EventBuilder.h" #include "SlowSort.h" namespace EventBuilder { diff --git a/src/evb/Stopwatch.cpp b/src/evb/Stopwatch.cpp index 8447d56..95feb6e 100644 --- a/src/evb/Stopwatch.cpp +++ b/src/evb/Stopwatch.cpp @@ -5,6 +5,7 @@ Written by G.W. McCann Oct. 2020 */ +#include "EventBuilder.h" #include "Stopwatch.h" namespace EventBuilder { diff --git a/src/gui_main.cpp b/src/gui_main.cpp index c06da98..601a322 100644 --- a/src/gui_main.cpp +++ b/src/gui_main.cpp @@ -1,3 +1,4 @@ +#include "evb/Logger.h" #include "spsdict/DataStructs.h" #include #include "guidict/EVBMainFrame.h" diff --git a/src/guidict/CMakeLists.txt b/src/guidict/CMakeLists.txt deleted file mode 100644 index 9dfc751..0000000 --- a/src/guidict/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -root_generate_dictionary(G__GUIDict EVBMainFrame.h FileViewFrame.h LINKDEF LinkDef_Gui.h) - -add_library(GUIDict SHARED EVBMainFrame.cpp FileViewFrame.cpp EVBMainFrame.h FileViewFrame.h G__GUIDict.cxx) -add_custom_command(TARGET GUIDict - POST_BUILD - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/libGUIDict_rdict.pcm ${CMAKE_INSTALL_PREFIX}/lib/ - VERBATIM) -target_include_directories(GUIDict PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${PCH_DIR} ${SPDLOG_INCLUDE} ${CMAKE_CURRENT_SOURCE_DIR}/../evb) -target_precompile_headers(GUIDict PUBLIC ${PCH_DIR}/EventBuilder.h) -set_target_properties(GUIDict PROPERTIES PUBLIC_HEADER "EVBMainFrame.h;FileViewFrame.h") -target_link_libraries(GUIDict - PUBLIC - ROOT::Gui - ROOT::Core - ROOT::Gpad - ROOT::Graf3d - ROOT::Graf - ROOT::Hist - ROOT::Imt - ROOT::MathCore - ROOT::Matrix - ROOT::MultiProc - ROOT::Net - ROOT::Physics - ROOT::Postscript - ROOT::RIO - ROOT::ROOTDataFrame - ROOT::ROOTVecOps - ROOT::Rint - ROOT::Thread - ROOT::TreePlayer - ROOT::Tree - spdlog::spdlog -) - -install(TARGETS GUIDict - LIBRARY DESTINATION lib - PUBLIC_HEADER DESTINATION include) \ No newline at end of file diff --git a/src/guidict/EVBMainFrame.cpp b/src/guidict/EVBMainFrame.cpp index 1823a31..1e5203f 100644 --- a/src/guidict/EVBMainFrame.cpp +++ b/src/guidict/EVBMainFrame.cpp @@ -276,12 +276,14 @@ void EVBMainFrame::HandleMenuSelection(int id) if(id == M_Save_Config) { new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fInfo); - SaveConfig(fInfo->fFilename); + if(fInfo->fFilename) + SaveConfig(fInfo->fFilename); } else if(id == M_Load_Config) { new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fInfo); - LoadConfig(fInfo->fFilename); + if(fInfo->fFilename) + LoadConfig(fInfo->fFilename); } else if(id == M_Exit) CloseWindow(); @@ -295,25 +297,29 @@ void EVBMainFrame::DoOpenWorkdir() void EVBMainFrame::DoOpenCMapfile() { new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fInfo); - DisplayCMap(fInfo->fFilename); + if(fInfo->fFilename) + DisplayCMap(fInfo->fFilename); } void EVBMainFrame::DoOpenSMapfile() { new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fInfo); - DisplaySMap(fInfo->fFilename); + if(fInfo->fFilename) + DisplaySMap(fInfo->fFilename); } void EVBMainFrame::DoOpenScalerfile() { new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fInfo); - DisplayScaler(fInfo->fFilename); + if(fInfo->fFilename) + DisplayScaler(fInfo->fFilename); } void EVBMainFrame::DoOpenCutfile() { new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fInfo); - DisplayCut(fInfo->fFilename); + if(fInfo->fFilename) + DisplayCut(fInfo->fFilename); } void EVBMainFrame::DoRun() diff --git a/src/main.cpp b/src/main.cpp index bdb72b6..43f5b63 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,3 +1,4 @@ +#include "evb/Logger.h" #include "spsdict/DataStructs.h" #include "evb/EVBApp.h" #include "evb/Stopwatch.h" diff --git a/src/spsdict/CMakeLists.txt b/src/spsdict/CMakeLists.txt deleted file mode 100644 index c6e51ef..0000000 --- a/src/spsdict/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -root_generate_dictionary(G__SPSDict DataStructs.h LINKDEF LinkDef_sps.h) - -add_library(SPSDict SHARED DataStructs.h DataStructs.cpp G__SPSDict.cxx) -add_custom_command(TARGET SPSDict - POST_BUILD - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/libSPSDict_rdict.pcm ${CMAKE_INSTALL_PREFIX}/lib/ - VERBATIM) -target_include_directories(SPSDict PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${PCH_DIR} ${SPDLOG_INCLUDE} ${CMAKE_CURRENT_SOURCE_DIR}/../evb) -target_precompile_headers(SPSDict PUBLIC ${PCH_DIR}/EventBuilder.h) -set_target_properties(SPSDict PROPERTIES PUBLIC_HEADER "DataStructs.h") -target_link_libraries(SPSDict - PUBLIC - ROOT::Gui - ROOT::Core - ROOT::Gpad - ROOT::Graf3d - ROOT::Graf - ROOT::Hist - ROOT::Imt - ROOT::MathCore - ROOT::Matrix - ROOT::MultiProc - ROOT::Net - ROOT::Physics - ROOT::Postscript - ROOT::RIO - ROOT::ROOTDataFrame - ROOT::ROOTVecOps - ROOT::Rint - ROOT::Thread - ROOT::TreePlayer - ROOT::Tree - spdlog::spdlog -) - -install(TARGETS SPSDict - LIBRARY DESTINATION lib - PUBLIC_HEADER DESTINATION include) \ No newline at end of file diff --git a/src/spsdict/DataStructs.h b/src/spsdict/DataStructs.h index e0c3a35..d57fb39 100644 --- a/src/spsdict/DataStructs.h +++ b/src/spsdict/DataStructs.h @@ -6,6 +6,8 @@ #ifndef DATA_STRUCTS_H #define DATA_STRUCTS_H +#include + struct DPPChannel { double Timestamp;