ROOT logo
// -*- Mode: C++ -*-
// $Id$

#ifndef ALIHLTOFFLINEDATASOURCE_H
#define ALIHLTOFFLINEDATASOURCE_H
///* This file is property of and copyright by the                          * 
///* ALICE Experiment at CERN, All rights reserved.                         *
///* See cxx source for full Copyright notice                               *

/// @file   AliHLTOfflineDataSource.h
/// @author Matthias Richter
/// @date   
/// @brief  AliRoot data sink component base class.
///

#include "AliHLTDataSource.h"
#include "AliHLTOfflineInterface.h"

/******************************************************************************/

/**
 * @class AliHLTOfflineDataSource
 * The class implements a AliRoot data source component base class. 
 * The child class must implement the functions:
 * - @ref DoInit (optional)
 * - @ref DoDeinit (optional)
 * - @ref GetEvent
 * - @ref GetComponentID
 * - @ref GetOutputDataType
 * - @ref GetOutputDataSize
 * - @ref Spawn
 *
 * @note This class is only used for the @ref alihlt_system.
 *
 * @ingroup alihlt_system
 */
class AliHLTOfflineDataSource 
: public AliHLTDataSource, public AliHLTOfflineInterface {
 public:
  /** standard constructor */
  AliHLTOfflineDataSource();
  /** destructor */
  virtual ~AliHLTOfflineDataSource();

  /**
   * Default implementation as sources do not have a real FillESD method.
   */
  int FillESD(int /*eventNo*/, AliRunLoader* /*runLoader*/, AliESDEvent* /*esd*/) {
    return 0;
  }

 private:
  /** copy constructor prohibited */
  AliHLTOfflineDataSource(const AliHLTOfflineDataSource&);
  /** assignment operator prohibited */
  AliHLTOfflineDataSource& operator=(const AliHLTOfflineDataSource&);
 
  ClassDef(AliHLTOfflineDataSource, 0);
};

#endif
 AliHLTOfflineDataSource.h:1
 AliHLTOfflineDataSource.h:2
 AliHLTOfflineDataSource.h:3
 AliHLTOfflineDataSource.h:4
 AliHLTOfflineDataSource.h:5
 AliHLTOfflineDataSource.h:6
 AliHLTOfflineDataSource.h:7
 AliHLTOfflineDataSource.h:8
 AliHLTOfflineDataSource.h:9
 AliHLTOfflineDataSource.h:10
 AliHLTOfflineDataSource.h:11
 AliHLTOfflineDataSource.h:12
 AliHLTOfflineDataSource.h:13
 AliHLTOfflineDataSource.h:14
 AliHLTOfflineDataSource.h:15
 AliHLTOfflineDataSource.h:16
 AliHLTOfflineDataSource.h:17
 AliHLTOfflineDataSource.h:18
 AliHLTOfflineDataSource.h:19
 AliHLTOfflineDataSource.h:20
 AliHLTOfflineDataSource.h:21
 AliHLTOfflineDataSource.h:22
 AliHLTOfflineDataSource.h:23
 AliHLTOfflineDataSource.h:24
 AliHLTOfflineDataSource.h:25
 AliHLTOfflineDataSource.h:26
 AliHLTOfflineDataSource.h:27
 AliHLTOfflineDataSource.h:28
 AliHLTOfflineDataSource.h:29
 AliHLTOfflineDataSource.h:30
 AliHLTOfflineDataSource.h:31
 AliHLTOfflineDataSource.h:32
 AliHLTOfflineDataSource.h:33
 AliHLTOfflineDataSource.h:34
 AliHLTOfflineDataSource.h:35
 AliHLTOfflineDataSource.h:36
 AliHLTOfflineDataSource.h:37
 AliHLTOfflineDataSource.h:38
 AliHLTOfflineDataSource.h:39
 AliHLTOfflineDataSource.h:40
 AliHLTOfflineDataSource.h:41
 AliHLTOfflineDataSource.h:42
 AliHLTOfflineDataSource.h:43
 AliHLTOfflineDataSource.h:44
 AliHLTOfflineDataSource.h:45
 AliHLTOfflineDataSource.h:46
 AliHLTOfflineDataSource.h:47
 AliHLTOfflineDataSource.h:48
 AliHLTOfflineDataSource.h:49
 AliHLTOfflineDataSource.h:50
 AliHLTOfflineDataSource.h:51
 AliHLTOfflineDataSource.h:52
 AliHLTOfflineDataSource.h:53
 AliHLTOfflineDataSource.h:54
 AliHLTOfflineDataSource.h:55
 AliHLTOfflineDataSource.h:56
 AliHLTOfflineDataSource.h:57
 AliHLTOfflineDataSource.h:58
 AliHLTOfflineDataSource.h:59
 AliHLTOfflineDataSource.h:60
 AliHLTOfflineDataSource.h:61