ATLAS Offline Software
IFilter.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // IFilter.h
8 // Header file for class IFilter
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef ANALYSISUTILS_IFILTER_H
12 #define ANALYSISUTILS_IFILTER_H
13 
19 // STL includes
20 
21 // Gaudi includes
22 
23 // AnalysisUtils includes
26 
27 // Forward declaration
28 
29 template <typename T>
30 class IFilter : virtual public IFilterCuts
31 {
32 
34  // Public methods:
36  public:
37 
40  IFilter();
41 
44  IFilter( const IFilter<T>& rhs );
45 
46  // Constructor with parameters:
47 
50  virtual ~IFilter();
51 
54  IFilter<T>& operator=(const IFilter<T>& rhs );
55 
57  // Const methods:
59 
64  virtual bool isAccepted( const T * element ) const =0;
65  bool operator() ( const T * element ) const;
66 
68  // Protected data:
70  protected:
71 
72 };
73 
75 // Inline methods:
77 template<typename T>
79  IFilterCuts()
80 {}
81 
82 template<typename T>
83 inline IFilter<T>::IFilter( const IFilter<T>& rhs ) :
84  IFilterCuts(rhs)
85 {}
86 
87 template<typename T>
89 
90 template<typename T>
92 {
93  if ( this != &rhs ) {
95  }
96  return *this;
97 }
98 
99 
100 template<typename T>
101 inline bool IFilter<T>::operator()( const T * element ) const
102 {
103  return isAccepted(element);
104 }
105 
106 #endif //> ANALYSISUTILS_IFILTER_H
IFilterUtils.h
IFilter
IFilter is the main interface to the filters.
Definition: IFilter.h:31
IFilter::IFilter
IFilter()
Default constructor:
Definition: IFilter.h:78
IFilter::operator=
IFilter< T > & operator=(const IFilter< T > &rhs)
Assignment operator:
Definition: IFilter.h:91
InDetSecVtxTruthMatchUtils::isAccepted
bool isAccepted(int matchInfo)
Definition: InDetSecVtxTruthMatchTool.h:73
IFilter::isAccepted
virtual bool isAccepted(const T *element) const =0
Main filter method.
IFilterCuts.h
IFilter::operator()
bool operator()(const T *element) const
Definition: IFilter.h:101
IFilterCuts::operator=
IFilterCuts & operator=(const IFilterCuts &rhs)
Assignment operator:
Definition: IFilterCuts.h:78
IFilterCuts
IFilterCuts is a class which is used internally by the filters to copy their cut properties one to ...
Definition: IFilterCuts.h:21
IFilter::~IFilter
virtual ~IFilter()
Destructor:
Definition: IFilter.h:88
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35