R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BShared.h File Reference
#include "R3BException.h"
#include "R3BLogger.h"
#include <FairLogger.h>
#include <R3BValueError.h>
#include <TFile.h>
#include <filesystem>
#include <fmt/std.h>
#include <regex>
#include <type_traits>
#include <utility>
Include dependency graph for R3BShared.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  R3B::TypeCollection< Types >
 
struct  R3B::TFileDeleter
 
class  R3B::LRPair< DataType >
 

Namespaces

namespace  R3B
 

Typedefs

using R3B::RootTypes = TypeCollection<TF1, TH1, TTree>
 
using R3B::unique_rootfile = std::unique_ptr<TFile, TFileDeleter>
 

Enumerations

enum class  R3B::Side : bool { R3B::left , R3B::right }
 

Functions

template<typename RootType, typename... Args>
auto R3B::root_owned (Args &&... args)
 
template<typename Hist, typename... Args>
auto R3B::make_hist (Args &&... args)
 
template<typename... Args>
auto R3B::make_rootfile (Args &&... args)
 
template<typename DataType, std::size_t size>
constexpr std::size_t R3B::GetSize (const DataType(&)[size])
 
constexpr auto R3B::toIndex (Side side) -> size_t
 
constexpr auto R3B::IndexToSide (size_t index) -> Side
 
template<uint8_t iterations = DEFAULT_ITERATION>
auto R3B::FastExp (const float val) -> float
 
auto R3B::GetParentDir (std::string_view filename) -> fs::path
 
auto R3B::GetFilesFromRegex (std::string_view filename_regex) -> std::vector< std::string >
 

Variables

template<typename Type, typename>
constexpr bool R3B::is_based_on = false
 
template<typename Type, typename... BaseTypes>
constexpr bool R3B::is_based_on< Type, TypeCollection< BaseTypes... > > = (std::is_base_of_v<BaseTypes, Type> || ...)
 
template<typename Type>
constexpr bool R3B::is_root_owned = is_based_on<Type, RootTypes>
 
static const uint8_t R3B::DEFAULT_ITERATION = 8U