]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDTrackerV1Component.h
Moved old AliMagFCheb to AliMagF, small fixes/optimizations in field classes
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrackerV1Component.h
CommitLineData
0e339ac7 1#ifndef ALIHLTTRDTRACKERV1COMPONENT_H
2#define ALIHLTTRDTRACKERV1COMPONENT_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/** @file AliHLTTRDTrackerComponent.h
7 @author Timm Steinbeck, Matthias Richter
8 @date
9 @brief Declaration of a TRDTracker component. */
10
11#include "AliHLTProcessor.h"
12
13class TFile;
d679dd6c 14class TTree;
15
0e339ac7 16class TGeoManager;
17class AliCDBManager;
18class AliMagFMaps;
19class AliTRDtrackerV1;
20class AliTRDrecoParam;
0d66dbf5 21class AliTRDReconstructor;
886e8d3d 22
0e339ac7 23/**
24 * @class AliHLTTRDTrackerComponent
25 * @brief A TRDTrackerV1 HLT processing component.
26 *
27 * Uses the second generation TRD tracker AliTRDtrackerV1
28*/
29
30class AliHLTTRDTrackerV1Component : public AliHLTProcessor
31 {
32 public:
33 AliHLTTRDTrackerV1Component();
34 virtual ~AliHLTTRDTrackerV1Component();
35
36 // Public functions to implement AliHLTComponent's interface.
37 // These functions are required for the registration process
38
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();
44
45 protected:
d679dd6c 46 AliHLTUInt32_t AddToOutput (TClonesArray* inTrackArray, AliHLTUInt8_t* output);
47 Int_t ReadClusters (TClonesArray *outArray, void* inputPtr, AliHLTUInt32_t size);
48 void ReadAndLoadClusters(TTree *inClusterTree, TClonesArray *inClusterArray, const AliHLTComponentBlockData *inBlock);
49 AliHLTUInt32_t TransportTracks(TClonesArray *inTracksArray, AliHLTUInt8_t* output,
50 vector<AliHLTComponent_BlockData>& outputBlocks, AliHLTUInt32_t inOffset, AliHLTUInt32_t inSpec);
0e339ac7 51
52 // Protected functions to implement AliHLTComponent's interface.
53 // These functions provide initialization as well as the actual processing
54 // capabilities of the component.
55
56 int DoInit( int argc, const char** argv );
57 int DoDeinit();
d679dd6c 58 int DoEvent( const AliHLTComponentEventData& evtData,
59 const AliHLTComponentBlockData* blocks,
60 AliHLTComponent_TriggerData& /*trigData*/,
61 AliHLTUInt8_t* outputPtr,
62 AliHLTUInt32_t& size,
63 vector<AliHLTComponent_BlockData>& outputBlocks );
0e339ac7 64 using AliHLTProcessor::DoEvent;
65
66 private:
67 /** copy constructor prohibited */
68 AliHLTTRDTrackerV1Component(const AliHLTTRDTrackerV1Component&);
69 /** assignment operator prohibited */
70 AliHLTTRDTrackerV1Component& operator=(const AliHLTTRDTrackerV1Component&);
71
72 // The size of the output data produced, as a percentage of the input data's size.
73 // Can be greater than 100 (%)
74 unsigned fOutputPercentage; // Output volume in percentage of the input
75
76 string fStrorageDBpath; // Default path for OCDB
77 AliCDBManager *fCDB; //! Pointer to OCDB
78
79 AliMagFMaps* fField; //! magn. field settings
80
81 string fGeometryFileName; // Path to geometry file
d679dd6c 82 Bool_t fUseHLTClusters;
83 Bool_t fUseHLTTracks;
0e339ac7 84
85 AliTRDtrackerV1 *fTracker;//! Offline-pure/HLT tracker V1
86 AliTRDrecoParam *fRecoParam; //! Offline reco params
886e8d3d 87 AliTRDReconstructor * fReconstructor;
88
0e339ac7 89 ClassDef(AliHLTTRDTrackerV1Component, 0)
90
91 };
92#endif