GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Algo.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2004 by Olivier Stezowski *
3  * stezow(AT)ipnl.in2p3.fr *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ***************************************************************************/
20 
23 #ifndef ADF_Algo
24 #define ADF_Algo
25 #define ADF_ALGO_H ADF_Algo
26 
27 #ifndef ADF_ADFConfig
28 #include "ADFConfig.h"
29 #endif
30 
31 namespace ADF
32 {
33 
35 
38 class Algo
39 {
40 public:
41  Algo();
42  virtual ~Algo() ;
43 
45  virtual const Char_t *GetName() { return "An algorithm"; }
46 
48 
51  virtual Int_t SetInput() = 0;
52 
54 
57  virtual Int_t Process() = 0;
58 
60 
63  virtual Int_t SetOutput() = 0;
64 };
65 
66 } // namespace ADF
67 #endif
68 
69 
70 
71 
72 
virtual Int_t SetOutput()=0
To fill the ouput variables with the result of the algorithm.
virtual const Char_t * GetName()
To get the name of that algorithm.
Definition: Algo.h:45
virtual ~Algo()
Definition: Algo.cpp:34
Base class for an algorithm.
Definition: Algo.h:38
to set informations about the ADF configuration
Algo()
Definition: Algo.cpp:29
virtual Int_t Process()=0
To Process the algorithm on a single event (input)
virtual Int_t SetInput()=0
To fill the local variables with input values.