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