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