3 #ifndef ALIHLTTRDTRACKERV1COMPONENT_H
4 #define ALIHLTTRDTRACKERV1COMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /** @file AliHLTTRDTrackerV1Component.h
11 @brief Declaration of a TRDTracker component. */
13 #include "AliHLTProcessor.h"
21 class AliTRDtrackerV1;
22 class AliTRDrecoParam;
23 class AliTRDReconstructor;
28 * @class AliHLTTRDTrackerV1Component
29 * @brief A TRDTrackerV1 HLT processing component.
31 * Uses the second generation TRD tracker AliTRDtrackerV1
34 class AliHLTTRDTrackerV1Component : public AliHLTProcessor
37 AliHLTTRDTrackerV1Component();
38 virtual ~AliHLTTRDTrackerV1Component();
40 // Public functions to implement AliHLTComponent's interface.
41 // These functions are required for the registration process
43 const char* GetComponentID();
44 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
45 AliHLTComponentDataType GetOutputDataType();
46 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
47 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
48 AliHLTComponent* Spawn();
51 // Protected functions to implement AliHLTComponent's interface.
52 // These functions provide initialization as well as the actual processing
53 // capabilities of the component.
55 int DoInit( int argc, const char** argv );
57 int DoEvent( const AliHLTComponentEventData& evtData,
58 const AliHLTComponentBlockData* blocks,
59 AliHLTComponent_TriggerData& /*trigData*/,
60 AliHLTUInt8_t* outputPtr,
62 vector<AliHLTComponent_BlockData>& outputBlocks );
63 int Reconfigure(const char* cdbEntry, const char* chainId);
64 int ReadPreprocessorValues(const char* modules);
66 using AliHLTProcessor::DoEvent;
68 int Configure(const char* arguments);
70 int ReconfigureField();
73 /** copy constructor prohibited */
74 AliHLTTRDTrackerV1Component(const AliHLTTRDTrackerV1Component&);
75 /** assignment operator prohibited */
76 AliHLTTRDTrackerV1Component& operator=(const AliHLTTRDTrackerV1Component&);
78 // The size of the output data produced, as a percentage of the input data's size.
79 // Can be greater than 100 (%)
80 unsigned fOutputPercentage; // Output volume in percentage of the input
82 AliTRDtrackerV1 *fTracker;//! Offline-pure/HLT tracker V1
83 AliTRDrecoParam *fRecoParam; //! Offline reco params
84 AliTRDReconstructor * fReconstructor;
87 TClonesArray* fClusterArray;
89 Int_t fRecoParamType; // default will be the low flux
90 Int_t fNtimeBins; // number of time bins for the tracker to use
91 Int_t fMagneticField; // magnetic field: 0==OFF and 1==ON
92 Int_t fPIDmethod; // 0=LikelyHood(LH) 1=NeuronalNetwork(NN) 2=TruncatedMean(TM)
93 TString fgeometryFileName;
94 Double_t fieldStrength;
96 Bool_t fOutputV1Tracks;
98 ClassDef(AliHLTTRDTrackerV1Component, 3)