MarlinMT  0.1.0
marlinmt::book Namespace Reference

contains classes needed to book and managed booked objects. More...

Namespaces

 details
 
 exceptions
 
 Flags
 Flags for different purposes in marlinmt::book.
 
 Masks
 Masks to filter certain Flags.
 
 types
 Alias for Types used by MarlinMTBook.
 

Classes

class  BaseHandle
 class which basic functionality for every handle. More...
 
class  BookStore
 Managed Access and creation of Objects. More...
 
struct  CheckRoot6Type
 
struct  CheckRoot6Type< 1, Char_t >
 
struct  CheckRoot6Type< 1, Double_t >
 
struct  CheckRoot6Type< 1, Float_t >
 
struct  CheckRoot6Type< 1, Int_t >
 
struct  CheckRoot6Type< 1, Short_t >
 
struct  CheckRoot6Type< 2, Char_t >
 
struct  CheckRoot6Type< 2, Double_t >
 
struct  CheckRoot6Type< 2, Float_t >
 
struct  CheckRoot6Type< 2, Int_t >
 
struct  CheckRoot6Type< 2, Short_t >
 
struct  CheckRoot6Type< 3, Char_t >
 
struct  CheckRoot6Type< 3, Double_t >
 
struct  CheckRoot6Type< 3, Float_t >
 
struct  CheckRoot6Type< 3, Int_t >
 
struct  CheckRoot6Type< 3, Short_t >
 
struct  CheckStats
 
class  Condition
 wrapper class for an Entry filter function. More...
 
class  ConditionBuilder
 helper to create a Condition. More...
 
struct  Context
 Data selection for the Entry to work properly. More...
 
class  Entry
 
class  EntryBase
 Base type for Entries. To avoid void pointer. More...
 
class  EntryData
 Container for data to construct and setup booked object. More...
 
class  EntryData< types::HistT< Config >, 0 >
 EntryData for 1 dimensional Histograms. More...
 
class  EntryData< types::HistT< Config >, Flags::value(Flags::Book::MultiCopy) >
 EntryData for objects in MultiCopy Mode. More...
 
class  EntryData< types::HistT< Config >, Flags::value(Flags::Book::MultiShared) >
 EntryData for objects in MultiShared mode. More...
 
class  EntryData< types::HistT< Config >, Flags::value(Flags::Book::Single) >
 EntryData for objects in Single mode. More...
 
class  EntryDataBase
 Base Class for Entry Data, for similar behavior. More...
 
class  EntryDataBase< types::HistT< Config > >
 Base for Histogram EntryData. More...
 
class  EntryDataBase< void >
 
struct  EntryKey
 Data selection to identify and manage an Entry. More...
 
class  EntryMultiCopy
 entry for object to be used Multithreaded. More...
 
class  EntryMultiCopy< types::HistT< Config > >
 specialisation of EntryMultiCopy for Histograms More...
 
class  EntryMultiShared
 entry for object to be used Multithreaded. More...
 
class  EntryMultiShared< types::HistT< Config > >
 specialisation of EntryMultiShared for Histograms More...
 
class  EntrySingle
 minimal entry for Object. More...
 
class  EntrySingle< types::HistT< Config > >
 specialisation of EntrySingle for Histograms More...
 
class  Flag_t
 Flag type for flags in marlinmt::book. More...
 
class  Handle
 vanilla Handle. More...
 
class  Handle< Entry< T > >
 
class  Handle< types::HistT< Config > >
 Handle specialisation for Histograms. More...
 
struct  HistConverter
 
struct  HistConverter< RExp::RHist< DIMS, PRECISION, STAT... >, std::enable_if_t< CheckRoot6Type_v< DIMS, PRECISION > &&CheckStats_v< STAT... > > >
 
struct  MakeRoot6Hist
 
struct  MakeRoot6Hist< 3 >
 
class  MemLayout
 MemLayout base class to store booked objects in MarlinMT. More...
 
class  Selection
 Contains references to entries. More...
 
class  SharedMemLayout
 MemLayout for mutable object instances. More...
 
class  SingleMemLayout
 MemLayout for Single object instance. More...
 
class  StoreWriter
 
class  WeakEntry
 Wrapper for weak pointer to Entry. More...
 

Typedefs

template<typename Type >
using EntryTypes = std::tuple< EntrySingle< Type >, EntryMultiCopy< Type >, EntryMultiShared< Type > >
 
template<int DIMENSIONS, class PRECISION >
using CheckRoot6Type_t = typename CheckRoot6Type< DIMENSIONS, PRECISION >::type
 
template<int DIMS>
using RHistImplBase = RExp::Detail::RHistImplPrecisionAgnosticBase< DIMS >
 

Functions

 _fillers (10)
 
template<class Output , class Input >
Output convert_hist (const Input &src, const char *name)
 
template TH1C convert_hist (const RExp::RHist< 1, Char_t > &, const char *)
 
template TH1S convert_hist (const RExp::RHist< 1, Short_t > &, const char *)
 
template TH1I convert_hist (const RExp::RHist< 1, Int_t > &, const char *)
 
template TH1F convert_hist (const RExp::RHist< 1, Float_t > &, const char *)
 
template TH1D convert_hist (const RExp::RHist< 1, Double_t > &, const char *)
 
template TH2C convert_hist (const RExp::RHist< 2, Char_t > &, const char *)
 
template TH2S convert_hist (const RExp::RHist< 2, Short_t > &, const char *)
 
template TH2I convert_hist (const RExp::RHist< 2, Int_t > &, const char *)
 
template TH2F convert_hist (const RExp::RHist< 2, Float_t > &, const char *)
 
template TH2D convert_hist (const RExp::RHist< 2, Double_t > &, const char *)
 
template TH3C convert_hist (const RExp::RHist< 3, Char_t > &, const char *)
 
template TH3S convert_hist (const RExp::RHist< 3, Short_t > &, const char *)
 
template TH3I convert_hist (const RExp::RHist< 3, Int_t > &, const char *)
 
template TH3F convert_hist (const RExp::RHist< 3, Float_t > &, const char *)
 
template TH3D convert_hist (const RExp::RHist< 3, Double_t > &, const char *)
 
std::string convert_hist_title (const std::string &title)
 
TAxis & get_root6_axis (TH1 &hist, size_t idx)
 
TAxis & get_root6_axis (TH2 &hist, size_t idx)
 
TAxis & get_root6_axis (TH3 &hist, size_t idx)
 
Double_t get_bin_from_root6 (const TAxis &axis, Int_t bin)
 
std::array< Double_t, 1 > get_bin_from_root6 (const TH1 &hist, Int_t bin)
 
std::array< Double_t, 2 > get_bin_from_root6 (const TH2 &hist, Int_t bin)
 
std::array< Double_t, 3 > get_bin_from_root6 (const TH3 &hist, Int_t bin)
 
void setup_axis_base (TAxis &dest, const RExp::RAxisBase &src)
 
template<class Output , int AXIS, int DIMS, class... BuildParams>
Output convert_hist_loop (const RHistImplBase< DIMS > &src_impl, std::tuple< BuildParams... > &&build_params)
 
template<class THx , int DIMS>
void check_binning (const THx &dest, const RHistImplBase< DIMS > &src_impl)
 
bool rgxEvaluation (const std::string_view &match, const std::string_view &str)
 
bool rgxEvaluation (const std::basic_regex< char > &rgx, const std::string_view &str)
 
template Selection Selection::find< Selection::const_iterator > (Selection::const_iterator begin, Selection::const_iterator end, const Condition &cond)
 
template TH1C convert_hist (const RExp::RHist< 1, char > &, const char *)
 

Variables

 _finalFn {std::move(finalFn)}
 
 _data {std::move(data)}
 
 _type
 
 _fillMgr
 
template<typename T >
constexpr bool always_false = false
 
template<template< int D_, class P_ > class... STAT>
constexpr bool stats_ok = true
 
template<template< int D_, class P_ > class SINGLE_STAT>
constexpr bool stats_ok< SINGLE_STAT > = false
 
template<template< int D_, class P_ > class STAT_HEAD, template< int D_, class P_ > class... STAT_TAIL>
constexpr bool stats_ok< STAT_HEAD, STAT_TAIL... >
 
template<template< int D_, class P_ > class... STAT>
static constexpr bool CheckStats_v = CheckStats<STAT...>::value
 
template<int DIMENSIONS, class PRECISION >
static constexpr bool CheckRoot6Type_v
 

Detailed Description

contains classes needed to book and managed booked objects.

Typedef Documentation

◆ CheckRoot6Type_t

template<int DIMENSIONS, class PRECISION >
using marlinmt::book::CheckRoot6Type_t = typedef typename CheckRoot6Type<DIMENSIONS, PRECISION>::type

Definition at line 193 of file RootHistV7ToV6Conversion.h.

◆ EntryTypes

template<typename Type >
using marlinmt::book::EntryTypes = typedef std::tuple< EntrySingle<Type>, EntryMultiCopy<Type>, EntryMultiShared<Type> >

Definition at line 117 of file Entry.h.

◆ RHistImplBase

template<int DIMS>
using marlinmt::book::RHistImplBase = typedef RExp::Detail::RHistImplPrecisionAgnosticBase<DIMS>

Definition at line 381 of file RootHistV7ToV6Conversion.h.

Function Documentation

◆ _fillers()

marlinmt::book::_fillers ( 10  )

◆ check_binning()

template<class THx , int DIMS>
void marlinmt::book::check_binning ( const THx &  dest,
const RHistImplBase< DIMS > &  src_impl 
)

Definition at line 491 of file RootHistV7ToV6Conversion.h.

References get_bin_from_root6().

Referenced by convert_hist().

◆ convert_hist() [1/17]

template TH1C marlinmt::book::convert_hist ( const RExp::RHist< 1, char > &  ,
const char *   
)

◆ convert_hist() [2/17]

template<class Output , class Input >
Output marlinmt::book::convert_hist ( const Input &  src,
const char *  name 
)

Definition at line 548 of file RootHistV7ToV6Conversion.h.

References check_binning(), and convert_hist_title().

Referenced by setup_axis_base().

◆ convert_hist() [3/17]

template TH1C marlinmt::book::convert_hist ( const RExp::RHist< 1, Char_t > &  ,
const char *   
)

◆ convert_hist() [4/17]

template TH1S marlinmt::book::convert_hist ( const RExp::RHist< 1, Short_t > &  ,
const char *   
)

◆ convert_hist() [5/17]

template TH1I marlinmt::book::convert_hist ( const RExp::RHist< 1, Int_t > &  ,
const char *   
)

◆ convert_hist() [6/17]

template TH1F marlinmt::book::convert_hist ( const RExp::RHist< 1, Float_t > &  ,
const char *   
)

◆ convert_hist() [7/17]

template TH1D marlinmt::book::convert_hist ( const RExp::RHist< 1, Double_t > &  ,
const char *   
)

◆ convert_hist() [8/17]

template TH2C marlinmt::book::convert_hist ( const RExp::RHist< 2, Char_t > &  ,
const char *   
)

◆ convert_hist() [9/17]

template TH2S marlinmt::book::convert_hist ( const RExp::RHist< 2, Short_t > &  ,
const char *   
)

◆ convert_hist() [10/17]

template TH2I marlinmt::book::convert_hist ( const RExp::RHist< 2, Int_t > &  ,
const char *   
)

◆ convert_hist() [11/17]

template TH2F marlinmt::book::convert_hist ( const RExp::RHist< 2, Float_t > &  ,
const char *   
)

◆ convert_hist() [12/17]

template TH2D marlinmt::book::convert_hist ( const RExp::RHist< 2, Double_t > &  ,
const char *   
)

◆ convert_hist() [13/17]

template TH3C marlinmt::book::convert_hist ( const RExp::RHist< 3, Char_t > &  ,
const char *   
)

◆ convert_hist() [14/17]

template TH3S marlinmt::book::convert_hist ( const RExp::RHist< 3, Short_t > &  ,
const char *   
)

◆ convert_hist() [15/17]

template TH3I marlinmt::book::convert_hist ( const RExp::RHist< 3, Int_t > &  ,
const char *   
)

◆ convert_hist() [16/17]

template TH3F marlinmt::book::convert_hist ( const RExp::RHist< 3, Float_t > &  ,
const char *   
)

◆ convert_hist() [17/17]

template TH3D marlinmt::book::convert_hist ( const RExp::RHist< 3, Double_t > &  ,
const char *   
)

◆ convert_hist_loop()

template<class Output , int AXIS, int DIMS, class... BuildParams>
Output marlinmt::book::convert_hist_loop ( const RHistImplBase< DIMS > &  src_impl,
std::tuple< BuildParams... > &&  build_params 
)

Definition at line 386 of file RootHistV7ToV6Conversion.h.

References get_root6_axis(), and setup_axis_base().

◆ convert_hist_title()

std::string marlinmt::book::convert_hist_title ( const std::string &  title)

◆ get_bin_from_root6() [1/4]

Double_t marlinmt::book::get_bin_from_root6 ( const TAxis &  axis,
Int_t  bin 
)

Definition at line 54 of file RootHistV7ToV6Conversion.cc.

Referenced by get_bin_from_root6().

◆ get_bin_from_root6() [2/4]

std::array< Double_t, 1 > marlinmt::book::get_bin_from_root6 ( const TH1 &  hist,
Int_t  bin 
)

Definition at line 65 of file RootHistV7ToV6Conversion.cc.

References get_bin_from_root6().

◆ get_bin_from_root6() [3/4]

std::array< Double_t, 2 > marlinmt::book::get_bin_from_root6 ( const TH2 &  hist,
Int_t  bin 
)

Definition at line 72 of file RootHistV7ToV6Conversion.cc.

References get_bin_from_root6().

◆ get_bin_from_root6() [4/4]

std::array< Double_t, 3 > marlinmt::book::get_bin_from_root6 ( const TH3 &  hist,
Int_t  bin 
)

◆ get_root6_axis() [1/3]

TAxis & marlinmt::book::get_root6_axis ( TH1 &  hist,
size_t  idx 
)

Definition at line 21 of file RootHistV7ToV6Conversion.cc.

◆ get_root6_axis() [2/3]

TAxis & marlinmt::book::get_root6_axis ( TH2 &  hist,
size_t  idx 
)

Definition at line 31 of file RootHistV7ToV6Conversion.cc.

◆ get_root6_axis() [3/3]

TAxis & marlinmt::book::get_root6_axis ( TH3 &  hist,
size_t  idx 
)

◆ rgxEvaluation() [1/2]

bool marlinmt::book::rgxEvaluation ( const std::string_view &  match,
const std::string_view &  str 
)

Definition at line 13 of file Condition.cc.

Referenced by marlinmt::book::ConditionBuilder::condition().

◆ rgxEvaluation() [2/2]

bool marlinmt::book::rgxEvaluation ( const std::basic_regex< char > &  rgx,
const std::string_view &  str 
)

Definition at line 20 of file Condition.cc.

◆ Selection::find< Selection::const_iterator >()

◆ setup_axis_base()

void marlinmt::book::setup_axis_base ( TAxis &  dest,
const RExp::RAxisBase &  src 
)

Variable Documentation

◆ _data

◆ _fillMgr

marlinmt::book::_fillMgr
Initial value:
{
std::make_shared< types::HistConcurrentFillManager< Config > >(
*_context.mem->at< Type >( 0 ) )}

Definition at line 237 of file Hist.h.

Referenced by _fillers(), and marlinmt::book::EntryMultiShared< types::HistT< Config > >::handle().

◆ _finalFn

marlinmt::book::_finalFn {std::move(finalFn)}

Definition at line 146 of file Hist.h.

◆ _type

◆ always_false

template<typename T >
constexpr bool marlinmt::book::always_false = false

Definition at line 45 of file RootHistV7ToV6Conversion.h.

◆ CheckRoot6Type_v

template<int DIMENSIONS, class PRECISION >
constexpr bool marlinmt::book::CheckRoot6Type_v
static
Initial value:
=
constexpr unsigned long long value(const Flag_t &flag)
Definition: Flags.h:106

Definition at line 197 of file RootHistV7ToV6Conversion.h.

◆ CheckStats_v

template<template< int D_, class P_ > class... STAT>
constexpr bool marlinmt::book::CheckStats_v = CheckStats<STAT...>::value
static

Definition at line 109 of file RootHistV7ToV6Conversion.h.

◆ stats_ok

template<template< int D_, class P_ > class... STAT>
constexpr bool marlinmt::book::stats_ok = true

Definition at line 78 of file RootHistV7ToV6Conversion.h.

◆ stats_ok< SINGLE_STAT >

template<template< int D_, class P_ > class SINGLE_STAT>
constexpr bool marlinmt::book::stats_ok< SINGLE_STAT > = false

Definition at line 88 of file RootHistV7ToV6Conversion.h.

◆ stats_ok< STAT_HEAD, STAT_TAIL... >

template<template< int D_, class P_ > class STAT_HEAD, template< int D_, class P_ > class... STAT_TAIL>
constexpr bool marlinmt::book::stats_ok< STAT_HEAD, STAT_TAIL... >
Initial value:
=
stats_ok<STAT_HEAD> || stats_ok<STAT_TAIL...>

Definition at line 96 of file RootHistV7ToV6Conversion.h.