Files
mathis_s a9841ae6d4
Test And Build / Format (push) Has been cancelled
Test And Build / Lint (push) Has been cancelled
Fixed wrong Readme heading
2025-11-04 09:59:50 +01:00

1.5 KiB

CFD950 8 Channel Constant Fraction Discriminator

This repository contains the driver code and "default" Midas frontend for the CFD950 8 Channel Constant Fraction Discriminator. See https://lmu.web.psi.ch/docu/manuals/bulk_manuals/VME_PSI/CFD950_rev10.pdf.

Requirements

Requires a Midas installation with the environment variable MIDASSYS pointing to the built Midas artifacts and headers.

Build

Clone this repository, enter the cloned directory, and then build via CMake.

cmake -S "$(pwd)" -B <directory-to-build-in> -DBUILD_FRONTEND=ON
cmake --build <directory-to-build-in> --clean-first -- -j8

Run

/build/driver/cfd950_fe -e flame

Including in Custom Frontend

To include this driver in a custom frontend, you should ensure the environment variable MIDASSYS points to your system install and include a snippet in your CMakeLists.txt similar to the following:

# If the path to the cfd950 repository is outside of the frontend
# repository, you also need to provide a location for the cfd950
# artifacts as a second argument to `add_subdirectory`
# e.g. `./device/cfd950`
add_subdirectory(
    <path-to-cfd950-repository>
)

add_executable(
  <frontend-name>
  <frontend-code-path-1>
  <frontend-code-path-2>
  :
)

set_property(
  TARGET
    <frontend-name>
  PROPERTY
    CXX_STANDARD 11
)

target_include_directories(
  <frontend-name>
  PRIVATE
    $ENV{MIDASSYS}/drivers
    $ENV{MIDASSYS}/include
)

target_link_libraries(
  <frontend-name>
  cfd950
  <additional-library-1>
  <additional-library-2>
  :
)