ATLAS Offline Software
Loading...
Searching...
No Matches
IAssocFilter< OBJ, ASSO > Class Template Referenceabstract

(templated) interface class to manage the construction/filtering of associations. More...

#include <IAssocFilter.h>

Inheritance diagram for IAssocFilter< OBJ, ASSO >:
Collaboration diagram for IAssocFilter< OBJ, ASSO >:

Public Member Functions

 IAssocFilter ()
 Default constructor:
 IAssocFilter (const IAssocFilter< OBJ, ASSO > &rhs)
 Copy constructor:
virtual ~IAssocFilter ()
 Destructor:
IAssocFilteroperator= (const IAssocFilter< OBJ, ASSO > &rhs)
 Assignment operator:
virtual bool isAccepted (const OBJ *object, const ASSO *associated) const =0
 Main filter method.
virtual void reset ()=0
 Reset the range cuts for the internal variables (px,py,...) After calling this method, the filter will accept any association.
virtual void setFilter (const IFilterCuts *ifilter)=0
 Pure virtual function (to be overloaded by each of the children classes) to copy the cut properties of a given filter to another one.

Detailed Description

template<typename OBJ, typename ASSO>
class IAssocFilter< OBJ, ASSO >

(templated) interface class to manage the construction/filtering of associations.

It is the equivalent (but for associations) of the IFilter<T> class. The method of interest here (which will be overloaded by derived classes) is the "bool isAccepted(obj,assoc)" method which returns true if the pair of objects can be associated wrt the current set of filter cuts.

Definition at line 32 of file IAssocFilter.h.

Constructor & Destructor Documentation

◆ IAssocFilter() [1/2]

template<typename OBJ, typename ASSO>
IAssocFilter< OBJ, ASSO >::IAssocFilter ( )

Default constructor:

Definition at line 89 of file IAssocFilter.h.

89 :
91{}
IFilterCuts()
Default constructor:
Definition IFilterCuts.h:69

◆ IAssocFilter() [2/2]

template<typename OBJ, typename ASSO>
IAssocFilter< OBJ, ASSO >::IAssocFilter ( const IAssocFilter< OBJ, ASSO > & rhs)

Copy constructor:

Definition at line 94 of file IAssocFilter.h.

94 :
96{}
(templated) interface class to manage the construction/filtering of associations.

◆ ~IAssocFilter()

template<typename OBJ, typename ASSO>
IAssocFilter< OBJ, ASSO >::~IAssocFilter ( )
virtual

Destructor:

Definition at line 99 of file IAssocFilter.h.

100{}

Member Function Documentation

◆ isAccepted()

template<typename OBJ, typename ASSO>
virtual bool IAssocFilter< OBJ, ASSO >::isAccepted ( const OBJ * object,
const ASSO * associated ) const
pure virtual

Main filter method.

This method takes the decision whether or not the filter has to accept the association between both objects. It returns true or false accordingly.

Implemented in AssocFilter< OBJ, ASSO >, and AssocFilter< IParticle, IParticle >.

◆ operator=()

template<typename OBJ, typename ASSO>
IAssocFilter< OBJ, ASSO > & IAssocFilter< OBJ, ASSO >::operator= ( const IAssocFilter< OBJ, ASSO > & rhs)

Assignment operator:

Definition at line 104 of file IAssocFilter.h.

105{
106 if ( this != &rhs ) {
108 }
109 return *this;
110}
IFilterCuts & operator=(const IFilterCuts &rhs)
Assignment operator:
Definition IFilterCuts.h:78

◆ reset()

template<typename OBJ, typename ASSO>
virtual void IAssocFilter< OBJ, ASSO >::reset ( )
pure virtual

Reset the range cuts for the internal variables (px,py,...) After calling this method, the filter will accept any association.

Implemented in AssocFilter< OBJ, ASSO >, and AssocFilter< IParticle, IParticle >.

◆ setFilter()

virtual void IFilterCuts::setFilter ( const IFilterCuts * ifilter)
pure virtualinherited

Pure virtual function (to be overloaded by each of the children classes) to copy the cut properties of a given filter to another one.

It copies the properties of ifilter to the current IFilterCuts object.

Parameters
ifilterthe IFilterCuts which holds a set of properties one wants to copy to the current IFilterCuts object.

Implemented in AssocFilter< OBJ, ASSO >, AssocFilter< IParticle, IParticle >, ChargeFilter< T >, McVtxFilter, MomentumFilter< T >, and PdgIdFilter< T >.


The documentation for this class was generated from the following file: