Belle II Software development
|
Realization of the OR operator between two objects of the Filter class. More...
#include <Filter.h>
Public Types | |
typedef FilterA::argumentType | argumentType |
Handy typedef for arguments type A. | |
typedef FilterB::argumentType | argumentTypeB |
Handy typedef for arguments type B. | |
typedef FilterA::functionType | functionTypeA |
Handy typedef for function type A. | |
typedef FilterB::functionType | functionTypeB |
Handy typedef for function type B. | |
typedef std::enable_if< all_same< functionTypeA, functionTypeB >::value, functionTypeA >::type | functionType |
Handy typedef for the combined function type. | |
Public Member Functions | |
Filter (const FilterA &filterA, const FilterB &filterB) | |
Constructor creating a filter representing the boolean OR combination of two filters. | |
Filter () | |
Empty constructor. | |
template<typename ... argsType> | |
std::enable_if< all_same< argumentType, argumentTypeB, argsType... >::value, bool >::type | accept (const argsType &... args) const |
The accept method for the combination of two filters with the OR Operator: This will return the combined result of the accept method for the two filters using the OR logic. | |
template<class otherObserver > | |
Filter< Belle2::OperatorOr, decltype(FilterA().observeLeaf(otherObserver())), decltype(FilterB().observeLeaf(otherObserver())), otherObserver > | observe (const otherObserver &) const |
Will set the observer for this and both via the OR operator combined filters it contains, all subsequent Boolean Filters will not be observed (VoidObserver) | |
template<class otherObserver > | |
Filter< Belle2::OperatorOr, decltype(FilterA().observeLeaf(otherObserver())), decltype(FilterB().observeLeaf(otherObserver())), VoidObserver > | observeLeaf (const otherObserver &) const |
Will set the observer for both via the OR operation combined filters it contains, this filter itself will not be observed (VoidObserver). | |
void | persist (TTree *t, const std::string &branchName) |
Persist the filter on a TTree. | |
void | setBranchAddress (TTree *t, const std::string &branchName) |
Set the Branches addresses to this filter. | |
std::string | getNameAndReference (std::vector< std::pair< char, void * > > *pointers=nullptr) |
Getter for name of and reference to the range of the filters. | |
Private Attributes | |
const char * | c_orSuffixA = "_or_A" |
Char suffix to be used in the filter name for ROOT to indicate the filter A of the combination A OR B. | |
const char * | c_orSuffixB = "_or_B" |
Char suffix to be used in the filter name for ROOT to indicate the filter B of the combination A OR B. | |
FilterA | m_filterA |
Member containing the filter A of the combination A OR B. | |
FilterB | m_filterB |
Member containing the filter B of the combination A OR B. | |
Realization of the OR operator between two objects of the Filter class.
FilterA | : a filter |
FilterB | : another filter |
templateObserverType | : the observer type to be used |
typedef FilterA::argumentType argumentType |
typedef FilterB::argumentType argumentTypeB |
typedef std::enable_if<all_same<functionTypeA,functionTypeB>::value,functionTypeA>::type functionType |
typedef FilterA::functionType functionTypeA |
typedef FilterB::functionType functionTypeB |
|
inline |
Constructor creating a filter representing the boolean OR combination of two filters.
filterA | : a filter |
filterB | : another filter |
Definition at line 798 of file Filter.h.
|
inline |
The accept method for the combination of two filters with the OR Operator: This will return the combined result of the accept method for the two filters using the OR logic.
argsType | template arguments depending on the filters |
args | values to be tested by the filters |
|
inline |
Getter for name of and reference to the range of the filters.
Calls getNameAndReference of RangeType.
pointers | pointer to vector of pairs of names of and pointers to the filters |
|
inline |
Will set the observer for this and both via the OR operator combined filters it contains, all subsequent Boolean Filters will not be observed (VoidObserver)
otherObserver | : the new type observer to be used |
Definition at line 832 of file Filter.h.
|
inline |
Will set the observer for both via the OR operation combined filters it contains, this filter itself will not be observed (VoidObserver).
NOTE: If this function is used on the top level Boolean filter, the whole filter will NOT be observed! See accept function!
otherObserver | : the new observer type to be used |
Definition at line 852 of file Filter.h.
|
inline |
Persist the filter on a TTree.
t | is the TTree under which the TBranch will be created |
branchName | is the name of the TBranch holding m_range |
Definition at line 867 of file Filter.h.
|
inline |
Set the Branches addresses to this filter.
t | is the TTree containing the TBranch |
branchName | is the name of the TBranch holding the m_range |
Definition at line 883 of file Filter.h.
|
private |
|
private |
|
private |
|
private |