Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: hdtv
channels:
- conda-forge
dependencies:
- python=3.13
- hsluv
- ipython
- matplotlib
- numpy
- prompt_toolkit >= 3.0.14
- scipy
- traitlets
- uncertainties
6 changes: 4 additions & 2 deletions src/hdtv/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,14 +108,16 @@ def __init__(self):
hdtv.rootext.dlmgr.RebuildLibraries(
hdtv.rootext.dlmgr.usrdir, libraries=args.rebuildusr or None
)
print("Usr build process is complete! Existing ...")
sys.exit(0)

if args.rebuildsys is not None:
import hdtv.rootext.dlmgr

hdtv.rootext.dlmgr.RebuildLibraries(
hdtv.rootext.dlmgr.sysdir, libraries=args.rebuildsys or None
)

if args.rebuildusr or args.rebuildsys:
print("System build process is complete! Existing ..")
sys.exit(0)

check_root_version()
Expand Down
2 changes: 1 addition & 1 deletion src/hdtv/cmdline.py
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ def _loop(loop):

def SetHistory(self, path):
if not os.access(path, os.W_OK):
hdtv.ui.error(f"History file '{path}' is read-only, will be discarded")
hdtv.ui.msg(f"History file '{path}' doesn't exist or is read only, will be discarded")
self.history = FileHistory(path)

def RegisterInteractive(self, name, ref):
Expand Down
6 changes: 5 additions & 1 deletion src/hdtv/database/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import hdtv.cmdline
import hdtv.ui
import warnings


class _Element:
Expand Down Expand Up @@ -188,7 +189,10 @@ def __init__(self, csvfile=None):
else:
abd = None
if line[3].strip():
M = ufloat_fromstr(line[3].strip())
# NOTE: Some entries are zero here. Disable warnings here.
with warnings.catch_warnings():
warnings.simplefilter("ignore")
M = ufloat_fromstr(line[3].strip())
else:
M = None
if line[4].strip():
Expand Down
57 changes: 21 additions & 36 deletions src/hdtv/rootext/calibration/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,31 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR)

project(calibration LANGUAGES CXX)

set(SOURCES Calibration.cc)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
include(install_setup)

set(HEADERS Calibration.hh)
find_package(ROOT REQUIRED CONFIG COMPONENTS Core Hist Graf Gui)

find_package(ROOT REQUIRED COMPONENTS Core Hist)
message(STATUS "ROOT Version ${ROOT_VERSION} found in ${ROOT_root_CMD}")
if(${ROOT_VERSION_MINOR} GREATER_EQUAL 20)
include(${ROOT_DIR}/RootMacros.cmake)
elseif(${ROOT_VERSION_MINOR} EQUAL 19 AND EXISTS ${ROOT_DIR}/RootMacros.cmake)
include(${ROOT_DIR}/RootMacros.cmake)
else()
include(${ROOT_DIR}/modules/RootNewMacros.cmake)
endif()

root_generate_dictionary(
G__${PROJECT_NAME}
${HEADERS}
LINKDEF
LinkDef.h)

add_library(${PROJECT_NAME} SHARED ${SOURCES} G__${PROJECT_NAME}.cxx)

add_library(${PROJECT_NAME} SHARED)
add_library(hdtv::${PROJECT_NAME} ALIAS ${PROJECT_NAME})

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
set_target_properties(
${PROJECT_NAME}
PROPERTIES
RESOURCE
"${CMAKE_CURRENT_BINARY_DIR}/lib${PROJECT_NAME}.rootmap;${CMAKE_CURRENT_BINARY_DIR}/lib${PROJECT_NAME}_rdict.pcm"
target_sources(
${PROJECT_NAME}
PRIVATE Calibration.cc
PUBLIC
FILE_SET HEADERS
BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}
FILES Calibration.hh
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

root_generate_dictionary(G__${PROJECT_NAME} Calibration.hh MODULE ${PROJECT_NAME} LINKDEF LinkDef.h)

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
target_link_libraries(
${PROJECT_NAME}
ROOT::Core
ROOT::Hist
ROOT::Graf
ROOT::Gui)

install(
TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RESOURCE DESTINATION lib)
${PROJECT_NAME}
PRIVATE ROOT::Core ROOT::Hist ROOT::Graf ROOT::Gui
)

install(TARGETS ${PROJECT_NAME} FILE_SET HEADERS)
20 changes: 20 additions & 0 deletions src/hdtv/rootext/cmake/install_setup.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

if(APPLE)
set(BASE_DIR "@loader_path")
else()
set(BASE_DIR "$ORIGIN")
endif()

include(GNUInstallDirs)
set(CMAKE_INSTALL_LIBDIR lib)

file(
RELATIVE_PATH
relDir
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
)
set(CMAKE_INSTALL_RPATH ${BASE_DIR} ${BASE_DIR}/${relDir})
97 changes: 38 additions & 59 deletions src/hdtv/rootext/display/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,8 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR)

project(display LANGUAGES CXX)

set(SOURCES
DisplayBlock.cc
DisplayCut.cc
DisplayFunc.cc
DisplayObj.cc
DisplaySpec.cc
DisplayStack.cc
Marker.cc
MTViewer.cc
Painter.cc
View1D.cc
View2D.cc
View.cc
Viewer.cc
XMarker.cc
YMarker.cc)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
include(install_setup)

set(HEADERS
DisplayBlock.hh
Expand All @@ -35,55 +21,48 @@ set(HEADERS
Viewer.hh
View.hh
XMarker.hh
YMarker.hh)
YMarker.hh
)

find_package(X11 REQUIRED)

find_package(
ROOT REQUIRED
COMPONENTS Core
Hist
Graf
Gui)
find_package(ROOT REQUIRED CONFIG COMPONENTS Core Hist Graf Gui)
message(STATUS "ROOT Version ${ROOT_VERSION} found in ${ROOT_root_CMD}")
if(${ROOT_VERSION_MINOR} GREATER_EQUAL 20)
include(${ROOT_DIR}/RootMacros.cmake)
elseif(${ROOT_VERSION_MINOR} EQUAL 19 AND EXISTS ${ROOT_DIR}/RootMacros.cmake)
include(${ROOT_DIR}/RootMacros.cmake)
else()
include(${ROOT_DIR}/modules/RootNewMacros.cmake)
endif()

root_generate_dictionary(
G__${PROJECT_NAME}
${HEADERS}
LINKDEF
LinkDef.h
OPTIONS
-I${CMAKE_CURRENT_SOURCE_DIR}/../calibration)

add_library(${PROJECT_NAME} SHARED ${SOURCES} G__${PROJECT_NAME}.cxx)
add_library(${PROJECT_NAME} SHARED)
add_library(hdtv::${PROJECT_NAME} ALIAS ${PROJECT_NAME})

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
set_target_properties(
${PROJECT_NAME}
PROPERTIES
RESOURCE
"${CMAKE_CURRENT_BINARY_DIR}/lib${PROJECT_NAME}.rootmap;${CMAKE_CURRENT_BINARY_DIR}/lib${PROJECT_NAME}_rdict.pcm"
target_sources(
${PROJECT_NAME}
PRIVATE
DisplayBlock.cc
DisplayCut.cc
DisplayFunc.cc
DisplayObj.cc
DisplaySpec.cc
DisplayStack.cc
Marker.cc
MTViewer.cc
Painter.cc
View1D.cc
View2D.cc
View.cc
Viewer.cc
XMarker.cc
YMarker.cc
PUBLIC
FILE_SET HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} FILES ${HEADERS}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../calibration)

# HACK: Should link to calibration via find_package instead.
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../calibration)

root_generate_dictionary(G__${PROJECT_NAME} ${HEADERS} MODULE ${PROJECT_NAME} LINKDEF LinkDef.h)

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)

target_link_libraries(
${PROJECT_NAME}
ROOT::Core
ROOT::Hist
ROOT::Graf
ROOT::Gui
X11)
${PROJECT_NAME}
PRIVATE ROOT::Core ROOT::Hist ROOT::Graf ROOT::Gui X11
)

install(
TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RESOURCE DESTINATION lib)
install(TARGETS ${PROJECT_NAME} FILE_SET HEADERS)
64 changes: 31 additions & 33 deletions src/hdtv/rootext/fit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR)

project(fit LANGUAGES CXX)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
include(install_setup)

set(SOURCES
EEFitter.cc
ExpBg.cc
Expand All @@ -11,7 +14,8 @@ set(SOURCES
Param.cc
PolyBg.cc
TheuerkaufFitter.cc
Util.cc)
Util.cc
)

set(HEADERS
Background.hh
Expand All @@ -24,43 +28,37 @@ set(HEADERS
Param.hh
PolyBg.hh
TheuerkaufFitter.hh
Util.hh)
Util.hh
)

find_package(ROOT REQUIRED COMPONENTS Core Hist)
find_package(ROOT REQUIRED CONFIG COMPONENTS Core Hist MathMore)
message(STATUS "ROOT Version ${ROOT_VERSION} found in ${ROOT_root_CMD}")
if(${ROOT_VERSION_MINOR} GREATER_EQUAL 20)
include(${ROOT_DIR}/RootMacros.cmake)
elseif(${ROOT_VERSION_MINOR} EQUAL 19 AND EXISTS ${ROOT_DIR}/RootMacros.cmake)
include(${ROOT_DIR}/RootMacros.cmake)
else()
include(${ROOT_DIR}/modules/RootNewMacros.cmake)
endif()

root_generate_dictionary(
G__${PROJECT_NAME}
${HEADERS}
LINKDEF
LinkDef.h)

add_library(${PROJECT_NAME} SHARED ${SOURCES} G__${PROJECT_NAME}.cxx)
add_library(${PROJECT_NAME} SHARED)
add_library(hdtv::${PROJECT_NAME} ALIAS ${PROJECT_NAME})

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
set_target_properties(
${PROJECT_NAME}
PROPERTIES
RESOURCE
"${CMAKE_CURRENT_BINARY_DIR}/lib${PROJECT_NAME}.rootmap;${CMAKE_CURRENT_BINARY_DIR}/lib${PROJECT_NAME}_rdict.pcm"
target_sources(
${PROJECT_NAME}
PRIVATE
EEFitter.cc
ExpBg.cc
Fitter.cc
Integral.cc
InterpolationBg.cc
Param.cc
PolyBg.cc
TheuerkaufFitter.cc
Util.cc
PUBLIC
FILE_SET HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} FILES ${HEADERS}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

root_generate_dictionary(G__${PROJECT_NAME} ${HEADERS} MODULE ${PROJECT_NAME} LINKDEF LinkDef.h)

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
target_link_libraries(
${PROJECT_NAME}
ROOT::Core
ROOT::Hist
ROOT::MathMore)
${PROJECT_NAME}
PRIVATE ROOT::Core ROOT::Hist ROOT::MathMore
)

install(
TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RESOURCE DESTINATION lib)
install(TARGETS ${PROJECT_NAME} FILE_SET HEADERS)
Loading
Loading