3 #ifndef ALIHLTTRDTRACKERCOMPONENT_H
4 #define ALIHLTTRDTRACKERCOMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /** @file AliHLTTRDTrackerComponent.h
9 @author Timm Steinbeck, Matthias Richter
11 @brief Declaration of a TRDTracker component. */
14 #include "AliHLTProcessor.h"
18 //class AliTRDtrackerHLT;
23 * @class AliHLTTRDTrackerComponent
24 * @brief A TRDTracker HLT processing component.
26 * An implementiation of a TRDTracker component that just copies its input data
27 * as a test, demonstration, and example of the HLT component scheme.
28 * @ingroup alihlt_tutorial
30 class AliHLTTRDTrackerComponent : public AliHLTProcessor
33 AliHLTTRDTrackerComponent();
34 virtual ~AliHLTTRDTrackerComponent();
36 // Public functions to implement AliHLTComponent's interface.
37 // These functions are required for the registration process
39 const char* GetComponentID();
40 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
41 AliHLTComponent_DataType GetOutputDataType();
42 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
43 AliHLTComponent* Spawn();
47 // Protected functions to implement AliHLTComponent's interface.
48 // These functions provide initialization as well as the actual processing
49 // capabilities of the component.
51 int DoInit( int argc, const char** argv );
53 /* int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, */
54 /* AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, */
55 /* AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks ); */
56 int DoEvent( const AliHLTComponentEventData & evtData,
57 AliHLTComponentTriggerData & trigData );
59 using AliHLTProcessor::DoEvent;
62 /** copy constructor prohibited */
63 AliHLTTRDTrackerComponent(const AliHLTTRDTrackerComponent&);
64 /** assignment operator prohibited */
65 AliHLTTRDTrackerComponent& operator=(const AliHLTTRDTrackerComponent&);
67 // The size of the output data produced, as a percentage of the input data's size.
68 // Can be greater than 100 (%)
69 unsigned fOutputPercentage; // Output volume in percentage of the input
71 string fStrorageDBpath; // Default path for OCDB
72 AliCDBManager *fCDB; //! Pointer to OCDB
74 AliMagFMaps* fField; //! magn. field settings
76 string fGeometryFileName; // Path to geometry file
77 TFile *fGeometryFile; //! // Pointer to the geom root file
78 TGeoManager *fGeoManager; //! Pointer to geometry manager
80 //AliTRDtrackerHLT *fTracker;//! Offline-like/HLT tracker
81 AliTRDtracker *fTracker;//! Offline-pure/HLT tracker
83 ClassDef(AliHLTTRDTrackerComponent, 0)