CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
DCSelectionFunction.h
Go to the documentation of this file.
1#ifndef DCHAIN_SELECTIONFUNCTION_H
2#define DCHAIN_SELECTIONFUNCTION_H
3// -*- C++ -*-
4//
5// Package: DChain
6// Module: SelectionFunction
7//
8// Description: Base class for selection functional objects
9//
10// Usage:
11// <usage>
12//
13// Author: Simon Patton
14// Created: Wed Sep 18 15:46:35 EDT 1996
15// $Id: DCSelectionFunction.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16//
17// Revision history
18//
19// $Log: DCSelectionFunction.h,v $
20// Revision 1.1.1.1 2009/03/03 06:06:56 maqm
21// first import of DecayChain
22//
23// Revision 1.3 2006/01/11 20:28:13 cdj
24// massive class renaming, addition of [] for selection and unit tests
25//
26// Revision 1.2 2003/10/01 23:45:18 cdj
27// added compound selection function
28//
29// Revision 1.1.1.1 2000/12/18 22:16:49 cdj
30// imported DChain
31//
32// Revision 1.7 1998/08/27 04:55:17 sjp
33// added include of defn when required
34//
35// Revision 1.6 1998/08/20 19:57:29 sjp
36// Modified to use DChainBoolean
37//
38// Revision 1.5 1998/04/17 19:12:10 sjp
39// Modified to use latest type
40//
41// Revision 1.4 1997/08/15 21:31:54 sjp
42// Updated to use <package>/<file>.h include structure.
43// Updated to use bug flags specified in Experiement.h
44//
45// Revision 1.3 1997/01/21 20:31:22 sjp
46// Changed CPP flags and include because of library reorganization
47//
48// Revision 1.2 1996/12/20 21:08:15 sjp
49// Modified to support FILENAME_ONLY
50//
51// Revision 1.1 1996/11/04 16:49:42 sjp
52// New function for use in conjunction with new `Lists'
53//
54
55// system include files
56#include <functional>
57
58// user include files
59
60// forward declarations
61
62template < class Arg >
63class DCSelectionFunction : public std::unary_function<Arg&, bool>
64{
65 // friend classses and functions
66
67 public:
68 // constants, enums and typedefs
69
70 // Constructors and destructor
73
74 // member functions
75 virtual bool operator()( Arg& ) =0;
76
77 // const member functions
78 bool operator()(Arg& iArg) const {
79 return const_cast<DCSelectionFunction<Arg> *>(this)->operator()(iArg);
80 }
81
82 // static member functions
83
84 protected:
85 // protected member functions
86
87 // protected const member functions
88
89 private:
90 // Constructors and destructor
91 //DCSelectionFunction( const DCSelectionFunction< Arg >& ) ; // stop default
92
93 // assignment operator(s)
94 //const DCSelectionFunction& operator=( const DCSelectionFunction< Arg >& ) ; // stop default
95
96 // private member functions
97
98 // private const member functions
99
100 // data members
101
102 // static data members
103
104};
105
106// inline function definitions
107
108#endif /* DCHAIN_SELECTIONFUNCTION_H */
bool operator()(Arg &iArg) const
virtual bool operator()(Arg &)=0