6#ifndef RINGERSELECTORTOOLS_PROCEDURES_RINGERPROCEDUREWRAPPER_H
7#define RINGERSELECTORTOOLS_PROCEDURES_RINGERPROCEDUREWRAPPER_H
12#ifndef RINGER_STANDALONE
23#include "RingerSelectorTools/tools/TrackPatternsHolder.h"
24#include "RingerSelectorTools/tools/RedirectMsgStream.h"
26#ifndef INCLUDE_HEADER_ONLY
27#define INCLUDE_HEADER_ONLY
29#include "RingerSelectorTools/procedures/Types.h"
30#undef INCLUDE_HEADER_ONLY
84 virtual void write(TDirectory *baseDir,
const char *idxStr =
"")
const = 0;
89 virtual const char*
name()
const = 0;
114 virtual void print(MSG::Level lvl = MSG::DEBUG)
const = 0;
139template<
typename procedure_t >
177#ifndef INCLUDE_HEADER_ONLY
178#ifndef RINGER_PROCEDURE_INCLUDE
Used as base for all IRingerProcedureWrapper template specializations.
virtual bool empty() const =0
Returns whether holden interface collection is empty.
virtual void write(TDirectory *baseDir, const char *idxStr="") const =0
Write collection to TDirectory.
virtual EtDependency etDep() const =0
Returns et dependecy for this wrapper.
virtual ~IRingerProcedureWrapperBase()
Ensure virtual destructor.
virtual EtaDependency etaDep() const =0
Returns eta dependecy for this wrapper.
virtual void print(MSG::Level lvl=MSG::DEBUG) const =0
Print wrapper content.
virtual void releaseMemory()=0
Release all pointed memory holden by wrapper.
virtual const char * name() const =0
Retrieve RingerProcedureWrapper name.
virtual std::string fullName() const =0
Get full wrapper name.
Specialization for Discriminator procedure.
Specialization for Discriminator procedure.
Namespace dedicated for Ringer utilities.
EtaDependency
Specify eta position dependency.
IRingerProcedureWrapperBase IProcWrapperBase
Reduce verbosity.
EtDependency
Specify et position dependency.
std::vector< IProcWrapperBase > IProcWrapperBaseCollection
Collection of interface base.
static constexpr bool is_threshold
static constexpr bool is_pre_processor
static constexpr bool is_discriminator