Project
Loading...
Searching...
No Matches
DigitBlockBase.h File Reference
#include <iostream>
#include <vector>
#include <algorithm>
#include <type_traits>
#include <utility>
#include <array>
#include <Rtypes.h>
#include <CommonDataFormat/InteractionRecord.h>
#include <CommonDataFormat/RangeReference.h>
#include <Framework/Logger.h>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/front.hpp>
#include <boost/mpl/fold.hpp>
#include <boost/mpl/remove_if.hpp>
#include <boost/mpl/lambda.hpp>
#include <boost/mpl/not.hpp>
#include <boost/mpl/size.hpp>
#include <gsl/span>

Go to the source code of this file.

Classes

struct  o2::fit::DigitBlockHelper::IsSpecOfType< Template, T >
 
struct  o2::fit::DigitBlockHelper::IsSpecOfType< Template, Template< T... > >
 
struct  o2::fit::DigitBlockHelper::HasRef< T, typename >
 
struct  o2::fit::DigitBlockHelper::HasRef< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().ref), typename o2::dataformats::RangeReference< int, int > >::value > >
 
struct  o2::fit::DigitBlockHelper::HasRef< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().ref), typename o2::dataformats::RangeRefComp< 6 > >::value > >
 
struct  o2::fit::DigitBlockHelper::HasRef< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().ref), typename o2::dataformats::RangeRefComp< 5 > >::value > >
 
struct  o2::fit::DigitBlockHelper::HasArrayRef< T, typename >
 
struct  o2::fit::DigitBlockHelper::HasArrayRef< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().ref), typename std::array< typename o2::dataformats::RangeReference< int, int >, std::tuple_size< decltype(std::declval< T >().ref)>::value > >::value > >
 
struct  o2::fit::DigitBlockHelper::HasArrayRef< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().ref), typename std::array< typename o2::dataformats::RangeRefComp< 6 >, std::tuple_size< decltype(std::declval< T >().ref)>::value > >::value > >
 
struct  o2::fit::DigitBlockHelper::HasArrayRef< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().ref), typename std::array< typename o2::dataformats::RangeRefComp< 5 >, std::tuple_size< decltype(std::declval< T >().ref)>::value > >::value > >
 
struct  o2::fit::DigitBlockHelper::GetDigitRefsN< T, typename >
 
struct  o2::fit::DigitBlockHelper::GetDigitRefsN< T, std::enable_if_t< HasRef< T >::value > >
 
struct  o2::fit::DigitBlockHelper::GetDigitRefsN< T, std::enable_if_t< HasArrayRef< T >::value &&(std::tuple_size< decltype(std::declval< T >().ref)>::value > 1)> >
 
struct  o2::fit::DigitBlockHelper::HasIntRecord< T, typename >
 
struct  o2::fit::DigitBlockHelper::HasIntRecord< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().mIntRecord), o2::InteractionRecord >::value > >
 
struct  o2::fit::DigitBlockHelper::HasIntRecord< T, std::enable_if_t< std::is_same< decltype(std::declval< T >().ir), o2::InteractionRecord >::value > >
 
struct  o2::fit::DigitBlockHelper::GetSubDigitField< T, typename >
 
struct  o2::fit::DigitBlockHelper::GetSubDigitField< T, std::enable_if_t< boost::mpl::size< T >::value==1 > >
 
struct  o2::fit::DigitBlockHelper::GetSubDigitField< T, std::enable_if_t<(boost::mpl::size< T >::value > 1)> >
 
struct  o2::fit::DigitBlockHelper::GetSubDigitField< T, std::enable_if_t<(boost::mpl::size< T >::value > 1)> >::MakeTuple< std::tuple< Args... >, LastArg >
 
class  o2::fit::DigitBlockBase< DigitType, SubDigitTypes >
 

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::fit
 
namespace  o2::fit::DigitBlockHelper
 

Typedefs

template<typename T >
using o2::fit::DigitBlockHelper::GetVecSubDigit = typename boost::mpl::remove_if< T, boost::mpl::lambda< HasIntRecord< boost::mpl::_1 > >::type >::type
 
template<typename T >
using o2::fit::DigitBlockHelper::GetVecSingleSubDigit = typename boost::mpl::remove_if< T, boost::mpl::lambda< boost::mpl::not_< HasIntRecord< boost::mpl::_1 > > >::type >::type