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