]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TRD/AliHLTTRDTrackerV1Component.h
- adding new print mode for DataType2Text and some documentation
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrackerV1Component.h
index 0916f43518a8b4d80c7f00adb90c75f4cc281ebe..0dfff353c4d8c8893a1712a568e84f755beba87d 100644 (file)
@@ -6,22 +6,22 @@
  * See cxx source for full Copyright notice                               */
 
 /** @file   AliHLTTRDTrackerV1Component.h
-    @author 
+    @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
@@ -32,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();
@@ -40,11 +53,13 @@ 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:
   // Protected functions to implement AliHLTComponent's interface.
   // These functions provide initialization as well as the actual processing
@@ -64,10 +79,9 @@ protected:
   using AliHLTProcessor::DoEvent;
   
   int Configure(const char* arguments);
-  int SetParams();
-  int ReconfigureField();
-       
-private:
+  virtual int SetParams();
+
+protected:
   /** copy constructor prohibited */
   AliHLTTRDTrackerV1Component(const AliHLTTRDTrackerV1Component&);
   /** assignment operator prohibited */
@@ -79,18 +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 fMagneticField;     // magnetic field: 0==OFF and 1==ON
-  Int_t fPIDmethod;          // 0=LikelyHood(LH) 1=NeuronalNetwork(NN) 2=TruncatedMean(TM)
+  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;
-  Double_t fieldStrength;
-  Bool_t fSlowTracking;
+  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, 3)
+  ClassDef(AliHLTTRDTrackerV1Component, 4)
 
 };
 #endif