]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/ITS/AliHLTITSDigitPublisherComponent.h
AliVVfriend* moved to AliVfriend*, unnecessary AliVV* classes removed
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSDigitPublisherComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
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"
17 class AliRunLoader;
18 class AliITSLoader;
19 class TClonesArray;
20 class TTree;
21 /**
22  * @class AliHLTITSDigitPublisherComponent
23  *
24  */
25 class 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