Line data Source code
1 : //-*- Mode:
2 : // $Id$
3 :
4 : #ifndef ALIHLTITSCOMPRESSRAWDATASDDCOMPONENT_H
5 : #define ALIHLTITSCOMPRESSRAWDATASDDCOMPONENT_H
6 :
7 : //* This file is property of and copyright by the ALICE HLT Project *
8 : //* ALICE Experiment at CERN, All rights reserved. *
9 : //* See cxx source for full Copyright notice *
10 :
11 : /** @file AliHLTITSCompressRawDataSDDComponent.cxx
12 : @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
13 : @date
14 : @brief Component to run data compression for SDD
15 : */
16 :
17 : #include "AliHLTProcessor.h"
18 :
19 : #include "AliRawReaderMemory.h"
20 :
21 : #include "AliITSCompressRawDataSDD.h"
22 :
23 : /**
24 : * @class AliHLTITSCompressRawDataSDDComponent
25 : * Component to run data compression for SDD
26 : *
27 : * @ingroup alihlt_its_components
28 : */
29 :
30 : class AliHLTITSCompressRawDataSDDComponent : public AliHLTProcessor
31 : {
32 : public:
33 :
34 : /*
35 : * ---------------------------------------------------------------------------------
36 : * Constructor / Destructor
37 : * ---------------------------------------------------------------------------------
38 : */
39 :
40 : /** constructor */
41 : AliHLTITSCompressRawDataSDDComponent();
42 :
43 : /** destructor */
44 : virtual ~AliHLTITSCompressRawDataSDDComponent();
45 :
46 : /*
47 : * ---------------------------------------------------------------------------------
48 : * Public functions to implement AliHLTComponent's interface.
49 : * These functions are required for the registration process
50 : * ---------------------------------------------------------------------------------
51 : */
52 :
53 : /** interface function, see @ref AliHLTComponent for description */
54 : const char* GetComponentID();
55 :
56 : /** interface function, see @ref AliHLTComponent for description */
57 : void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
58 :
59 : /** interface function, see @ref AliHLTComponent for description */
60 : AliHLTComponentDataType GetOutputDataType();
61 :
62 : /** interface function, see @ref AliHLTComponent for description */
63 : virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
64 :
65 : /** interface function, see @ref AliHLTComponent for description */
66 : AliHLTComponent* Spawn();
67 :
68 : protected:
69 :
70 : /*
71 : * ---------------------------------------------------------------------------------
72 : * Protected functions to implement AliHLTComponent's interface.
73 : * These functions provide initialization as well as the actual processing
74 : * capabilities of the component.
75 : * ---------------------------------------------------------------------------------
76 : */
77 :
78 : /** Initialization */
79 : Int_t DoInit( int argc, const char** argv );
80 :
81 : /** DeInitialization */
82 : Int_t DoDeinit();
83 :
84 : /** EventLoop */
85 : Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
86 : AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
87 : AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
88 :
89 : using AliHLTProcessor::DoEvent;
90 :
91 : ///////////////////////////////////////////////////////////////////////////////////
92 :
93 : private:
94 :
95 : /** copy constructor prohibited */
96 : AliHLTITSCompressRawDataSDDComponent(const AliHLTITSCompressRawDataSDDComponent&);
97 : /** assignment operator prohibited */
98 : AliHLTITSCompressRawDataSDDComponent& operator=(const AliHLTITSCompressRawDataSDDComponent&);
99 :
100 : /*
101 : * ---------------------------------------------------------------------------------
102 : * Members - private
103 : * ---------------------------------------------------------------------------------
104 : */
105 :
106 : /** the cluster finder object */
107 : AliITSCompressRawDataSDD* fDataCompressor; //!transient
108 :
109 : /** the reader object for data decoding */
110 : AliRawReaderMemory* fRawReader; //!transient
111 :
112 6 : ClassDef(AliHLTITSCompressRawDataSDDComponent, 0)
113 :
114 : };
115 : #endif
|