+//-*- Mode: C++ -*-
+// $Id$
#ifndef ALIHLTTRDTRACKERV1COMPONENT_H
#define ALIHLTTRDTRACKERV1COMPONENT_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
/** @file AliHLTTRDTrackerV1Component.h
- @author Timm Steinbeck, Matthias Richter
+ @author Theodor Rascanu
@date
@brief Declaration of a TRDTracker component. */
#include "AliHLTProcessor.h"
+#include "AliESDEvent.h"
class TFile;
-class TTree;
-
class TGeoManager;
class AliCDBManager;
class AliMagF;
class AliTRDtrackerV1;
class AliTRDrecoParam;
class AliTRDReconstructor;
-class AliESDEvent;
+class TClonesArray;
+class TBuffer;
/**
* @class AliHLTTRDTrackerV1Component
class AliHLTTRDTrackerV1Component : public AliHLTProcessor
{
+protected:
+
+ class AliHLTTRDESDEvent : public AliESDEvent
+ {
+ // Here we use our own slim version of AliESDEvent
+ // by overwriting AliESDEvent::CreateStdContent
+ public:
+ void CreateStdContent();
+
+ // streamer function is prohibited, class for internal use only
+ void Streamer(TBuffer &R__b);
+ };
+
public:
AliHLTTRDTrackerV1Component();
virtual ~AliHLTTRDTrackerV1Component();
// These functions are required for the registration process
const char* GetComponentID();
- void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
- AliHLTComponent_DataType GetOutputDataType();
+ void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
+ AliHLTComponentDataType GetOutputDataType();
+ int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
AliHLTComponent* Spawn();
-
+ void GetOCDBObjectDescription(TMap* const targetMap);
+
protected:
- AliHLTUInt32_t TransportTracks(TClonesArray *inTracksArray, AliHLTUInt8_t* output,
- vector<AliHLTComponent_BlockData>& outputBlocks, AliHLTUInt32_t inOffset, AliHLTUInt32_t inSpec);
-
// Protected functions to implement AliHLTComponent's interface.
// These functions provide initialization as well as the actual processing
// capabilities of the component.
AliHLTUInt8_t* outputPtr,
AliHLTUInt32_t& size,
vector<AliHLTComponent_BlockData>& outputBlocks );
+ int Reconfigure(const char* cdbEntry, const char* chainId);
+ int ReadPreprocessorValues(const char* modules);
+
using AliHLTProcessor::DoEvent;
-
-private:
+
+ int Configure(const char* arguments);
+ virtual int SetParams();
+
+protected:
/** copy constructor prohibited */
AliHLTTRDTrackerV1Component(const AliHLTTRDTrackerV1Component&);
/** assignment operator prohibited */
AliTRDtrackerV1 *fTracker;//! Offline-pure/HLT tracker V1
AliTRDrecoParam *fRecoParam; //! Offline reco params
- AliTRDReconstructor * fReconstructor;
- AliESDEvent* fESD;
+ AliTRDReconstructor* fReconstructor;
+ AliHLTTRDESDEvent* fESD;
+
+ TClonesArray* fClusterArray;
+
+ Int_t fRecoParamType; // default will be the low flux
+ Int_t fNtimeBins; // number of time bins for the tracker to use
+ Int_t fPIDmethod; // 0=LikelyHood(LH) 1=NeuronalNetwork(NN) 2=TruncatedMean(TM)
+ TString fgeometryFileName;
+ Bool_t fHLTflag; // use HLT flag in reconstructor
+ Bool_t fOutputV1Tracks; // output TRD tracks, needed for calibration and ESDfriends
+ Bool_t fHighLevelOutput; // do we what to have high level output (only for debuging)
+ Bool_t fEmulateHLTTracks; // for debugging data containers
+ Bool_t fImproveTracklets; // improve tracklets?
- ClassDef(AliHLTTRDTrackerV1Component, 1)
+ ClassDef(AliHLTTRDTrackerV1Component, 4)
};
#endif