]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDClusterizerComponent.h
coding conventions
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizerComponent.h
CommitLineData
0af7cb2e 1// $Id$
2
3#ifndef ALIHLTTRDCLUSTERIZERCOMPONENT_H
4#define ALIHLTTRDCLUSTERIZERCOMPONENT_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTTRDClusterizerComponent.h
9 @author Timm Steinbeck, Matthias Richter
10 @date
11 @brief Declaration of a TRDClusterizer component. */
12
13
14#include "AliHLTProcessor.h"
15class AliCDBManager;
051a0e2d 16class AliTRDclusterizerHLT;
0af7cb2e 17class AliRawReaderMemory;
051a0e2d 18class TFile;
19class TGeoManager;
0af7cb2e 20
21/**
22 * @class AliHLTTRDClusterizerComponent
23 * @brief A TRDClusterizer HLT processing component.
24 *
25 * An implementiation of a TRDClusterizer component that just copies its input data
26 * as a test, demonstration, and example of the HLT component scheme.
27 * @ingroup alihlt_tutorial
28 */
29class AliHLTTRDClusterizerComponent : public AliHLTProcessor
30 {
31 public:
32 AliHLTTRDClusterizerComponent();
33 virtual ~AliHLTTRDClusterizerComponent();
34
35 // Public functions to implement AliHLTComponent's interface.
36 // These functions are required for the registration process
37
38 const char* GetComponentID();
39 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
40 AliHLTComponent_DataType GetOutputDataType();
41 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
42 AliHLTComponent* Spawn();
43
44 protected:
45
46 // Protected functions to implement AliHLTComponent's interface.
47 // These functions provide initialization as well as the actual processing
48 // capabilities of the component.
49
50 int DoInit( int argc, const char** argv );
51 int DoDeinit();
52 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
53 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
54 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
d76bc02a 55
56 using AliHLTProcessor::DoEvent;
0af7cb2e 57
58 private:
c7500dae 59 /** copy constructor prohibited */
60 AliHLTTRDClusterizerComponent(const AliHLTTRDClusterizerComponent&);
61 /** assignment operator prohibited */
62 AliHLTTRDClusterizerComponent& operator=(const AliHLTTRDClusterizerComponent&);
0af7cb2e 63
64 // The size of the output data produced, as a percentage of the input data's size.
65 // Can be greater than 100 (%)
0af7cb2e 66
3b021c25 67 unsigned fOutputPercentage; // Output volume in percentage of the input
0af7cb2e 68
3b021c25 69 string fStrorageDBpath; // Default path for OCDB
70
051a0e2d 71 AliTRDclusterizerHLT *fClusterizer; //! Offline derived HLT clusterizer
3b021c25 72 AliCDBManager *fCDB; //! Pointer to OCDB
73 AliRawReaderMemory *fMemReader; //! Input raw data reader
051a0e2d 74
75 string fGeometryFileName; // Path to geometry file
76 TFile *fGeometryFile; //! // Pointer to the geom root file
77 TGeoManager *fGeoManager; //! Pointer to geometry manager
0af7cb2e 78
79 ClassDef(AliHLTTRDClusterizerComponent, 0)
80
81 };
82#endif