Belle II Software development
|
Realization of the AND 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 combined function type. | |
Public Member Functions | |
Filter (const FilterA &filterA, const FilterB &filterB) | |
Constructor creating a filter representing the boolean AND 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 AND Operator: This will return the combined result of the accept method for the two filters using the AND logic. | |
template<class otherObserver > | |
Filter< Belle2::OperatorAnd, decltype(FilterA().observeLeaf(otherObserver())), decltype(FilterB().observeLeaf(otherObserver())), otherObserver > | observe (const otherObserver &) const |
Will set the observer for this and both of the via the AND operation combined filters it contains. | |
template<class otherObserver > | |
Filter< Belle2::OperatorAnd, decltype(FilterA().observeLeaf(otherObserver())), decltype(FilterB().observeLeaf(otherObserver())), VoidObserver > | observeLeaf (const otherObserver &) const |
will set the observer for the Leaves of this filter, this AND filter will not be observed. | |
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_andSuffixA = "_and_A" |
Char suffix to be used in the filter name for ROOT to indicate the filter A of the combination A AND B. | |
const char * | c_andSuffixB = "_and_B" |
Char suffix to be used in the filter name for ROOT to indicate the filter B of the combination A AND B. | |
FilterA | m_filterA |
Member containing the filter A of the combination A AND B. | |
FilterB | m_filterB |
Member containing the filter B of the combination A AND B. | |
Realization of the AND 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 AND combination of two filters.
filterA | : a filter |
filterB | : another filter |
Definition at line 626 of file Filter.h.
|
inline |
The accept method for the combination of two filters with the AND Operator: This will return the combined result of the accept method for the two filters using the AND 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 of the via the AND operation combined filters it contains.
Only the top level AND filter will have the new observer, all subsequent Boolean filters will NOT be observed (VoidObserver).
otherObserver |
Definition at line 661 of file Filter.h.
|
inline |
will set the observer for the Leaves of this filter, this AND filter will not be observed.
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 |
Definition at line 680 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 695 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 711 of file Filter.h.
|
private |
|
private |
|
private |
|
private |