24dd5f65486d838ff9d52367770d53b4043435e9
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTOfflineDataSource.h
1 // -*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTOFFLINEDATASOURCE_H
5 #define ALIHLTOFFLINEDATASOURCE_H
6 /* This file is property of and copyright by the ALICE HLT Project        * 
7  * ALICE Experiment at CERN, All rights reserved.                         *
8  * See cxx source for full Copyright notice                               */
9
10 /** @file   AliHLTOfflineDataSource.h
11     @author Matthias Richter
12     @date   
13     @brief  AliRoot data sink component base class.
14 */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
21
22 #include "AliHLTDataSource.h"
23 #include "AliHLTOfflineInterface.h"
24
25 /******************************************************************************/
26
27 /**
28  * @class AliHLTOfflineDataSource
29  * The class implements a AliRoot data source component base class. 
30  * The child class must implement the functions:
31  * - @ref DoInit (optional)
32  * - @ref DoDeinit (optional)
33  * - @ref GetEvent
34  * - @ref GetComponentID
35  * - @ref GetOutputDataType
36  * - @ref GetOutputDataSize
37  * - @ref Spawn
38  *
39  * @note This class is only used for the @ref alihlt_system.
40  *
41  * @ingroup alihlt_system
42  */
43 class AliHLTOfflineDataSource 
44 : public AliHLTDataSource, public AliHLTOfflineInterface {
45  public:
46   /** standard constructor */
47   AliHLTOfflineDataSource();
48   /** not a valid copy constructor, defined according to effective C++ style */
49   AliHLTOfflineDataSource(const AliHLTOfflineDataSource&);
50   /** not a valid assignment op, but defined according to effective C++ style */
51   AliHLTOfflineDataSource& operator=(const AliHLTOfflineDataSource&);
52   /** destructor */
53   virtual ~AliHLTOfflineDataSource();
54
55   /**
56    * Default implementation as sources do not have a real FillESD method.
57    */
58   int FillESD(int eventNo, AliRunLoader* runLoader, AliESDEvent* esd) {
59     if (esd==NULL && runLoader==NULL) {
60       // get rid of 'unused parameter' warning
61     }
62     return 0;
63   }
64
65  private:
66  
67   ClassDef(AliHLTOfflineDataSource, 1);
68 };
69
70 #endif