Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSDigitPublisherComponent.h
CommitLineData
618f422f 1//-*- Mode: C++ -*-
59b3dd4b 2// $Id$
618f422f 3#ifndef ALIHLTITSDIGITPUBLISHERCOMPONENT_H
4#define ALIHLTITSDIGITPUBLISHERCOMPONENT_H
5
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 AliHLTITSDigitPublisherComponent.cxx
11 @author Kenneth Aamodt, Sergey Gorbunov
12 @date
13 @brief Component to run the offline clusterfinder.
14*/
15
16#include "AliHLTOfflineDataSource.h"
17class AliRunLoader;
18class AliITSLoader;
19class TClonesArray;
20class TTree;
21/**
22 * @class AliHLTITSDigitPublisherComponent
23 *
24 */
25class AliHLTITSDigitPublisherComponent : public AliHLTOfflineDataSource
26{
27 public:
28
29
30 /**
31 * constructor
32 */
33 AliHLTITSDigitPublisherComponent();
34
35 /** destructor */
36 virtual ~AliHLTITSDigitPublisherComponent();
37
38 /*
39 * ---------------------------------------------------------------------------------
40 * Public functions to implement AliHLTComponent's interface.
41 * These functions are required for the registration process
42 * ---------------------------------------------------------------------------------
43 */
44
45 /** interface function, see @ref AliHLTComponent for description */
46 const char* GetComponentID();
47
48 /** interface function, see @ref AliHLTComponent for description */
49 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
50
51 /** interface function, see @ref AliHLTComponent for description */
52 AliHLTComponentDataType GetOutputDataType();
53
54 /** interface function, see @ref AliHLTComponent for description */
55 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
56
57 /** interface function, see @ref AliHLTComponent for description */
58 AliHLTComponent* Spawn();
59
60 protected:
61
62 /*
63 * ---------------------------------------------------------------------------------
64 * Protected functions to implement AliHLTComponent's interface.
65 * These functions provide initialization as well as the actual processing
66 * capabilities of the component.
67 * ---------------------------------------------------------------------------------
68 */
69
70 /** Initialization */
71 Int_t DoInit( int argc, const char** argv );
72
73 /** DeInitialization */
74 Int_t DoDeinit();
75
76 /** EventLoop */
77 Int_t GetEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
78
79 ///////////////////////////////////////////////////////////////////////////////////
80
81 private:
82 /** copy constructor prohibited */
83 AliHLTITSDigitPublisherComponent(const AliHLTITSDigitPublisherComponent&);
84 /** assignment operator prohibited */
85 AliHLTITSDigitPublisherComponent& operator=(const AliHLTITSDigitPublisherComponent&);
86
87 AliRunLoader * fRunLoader;
88 AliITSLoader * fITSLoader;
89 Int_t fNumberOfEvents;
90 Int_t fEventNumber;
91 TTree *tD;
92
93 ClassDef(AliHLTITSDigitPublisherComponent, 0)
94
95};
96#endif