]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TRD/AliHLTTRDTrackerV1Component.h
changed binning, sparse axis used, removed unused code
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrackerV1Component.h
index 67b99cedaca346f58bef35d199206779cee2b878..0dfff353c4d8c8893a1712a568e84f755beba87d 100644 (file)
@@ -1,25 +1,27 @@
+//-*- 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
@@ -30,6 +32,19 @@ class AliESDEvent;
 
 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();
@@ -38,15 +53,14 @@ public:
   // 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. 
@@ -59,9 +73,15 @@ protected:
               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 */
@@ -73,10 +93,22 @@ private:
        
   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