]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCClusterFinder.h
debug output removed
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterFinder.h
index 364144022d3be1a89d82ffd1f9b73148cb572b8e..d16f5258a54e26ae052fa2ffaed9bc3428d101f5 100644 (file)
@@ -1,17 +1,17 @@
-// @(#) $Id$
-// Original: AliHLTClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides 
+//-*- Mode: C++ -*-
+// $Id$
 
-#ifndef AliHLTTPC_CLUSTERFINDER
-#define AliHLTTPC_CLUSTERFINDER
+#ifndef ALIHLTTPCCLUSTERFINDER_H
+#define ALIHLTTPCCLUSTERFINDER_H
 //* This file is property of and copyright by the ALICE HLT Project        * 
 //* ALICE Experiment at CERN, All rights reserved.                         *
 //* See cxx source for full Copyright notice                               *
 
-/** @file   AliHLTTPCClusterFinder.h
-    @author Anders Vestbo, Constantin Loizides
-           Kenneth Aamodt kenneth.aamodt@student.uib.no
-    @brief  Cluster Finder for the TPC
-*/
+/ @file   AliHLTTPCClusterFinder.h
+//  @author Anders Vestbo, Constantin Loizides
+//         Kenneth Aamodt kenneth.aamodt@student.uib.no
+//  @brief  HLT Cluster Finder for the TPC
+//  @note
 
 #include "AliHLTLogging.h"
 #include <vector>
 #include "AliHLTTPCDigitData.h"
 #include "AliHLTTPCDigitReader.h"
 #include "AliTPCRecoParam.h"
+#include "AliHLTTPCClusterMCData.h"
+#include "AliHLTTPCRawCluster.h"
 
 class AliHLTTPCPad;
 class AliHLTTPCSpacePointData;
 class AliHLTTPCClusters;
 class AliTPCTransform;
+class AliTPCParam;
 
 /**
  * @class AliHLTTPCClusterFinder
@@ -123,18 +126,8 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   };
   typedef struct AliClusterData AliClusterData; //!
 
-  struct MCWeight{
-    Int_t fMCID;
-    Float_t fWeight;
-    static Bool_t CompareWeights( const MCWeight &mc1,  const MCWeight &mc2 ){ return mc1.fWeight > mc2.fWeight; }
-  };
-  typedef struct MCWeight MCWeight;
-
-  struct ClusterMCInfo{
-    MCWeight fClusterID[3];
-  };
-  typedef struct ClusterMCInfo ClusterMCInfo;
-
+  static Bool_t CompareWeights( const AliHLTTPCClusterMCWeight &mc1,  const AliHLTTPCClusterMCWeight &mc2 ){ return mc1.fWeight > mc2.fWeight; }
+  
 
   /** standard constructor */
   AliHLTTPCClusterFinder();
@@ -167,7 +160,9 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   Int_t FillHWAddressList(AliHLTUInt16_t *hwaddlist, Int_t maxHWAddress);
 
  /**  Fills the mc info */
-  Int_t FillOutputMCInfo(AliHLTTPCClusterFinder::ClusterMCInfo * outputMCInfo, Int_t maxNumberOfClusterMCInfo);
+  Int_t FillOutputMCInfo(AliHLTTPCClusterMCLabel * outputMCInfo, Int_t maxNumberOfClusterMCInfo);
+
+  Int_t FillOutputRaw(AliHLTTPCRawCluster* rawClusters, unsigned sizeInByte) const;
 
   /** Set the pointer to the outputbuffer */
   void SetOutputArray(AliHLTTPCSpacePointData *pt);
@@ -176,7 +171,7 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   Int_t GetNumberOfClusters() const {return fNClusters;}
 
   /** Returns the Ocuppancy limit */
-  Float_t GetOccupancyLimit() {return fOccupancyLimit;}
+  Float_t GetOccupancyLimit() const {return fOccupancyLimit;}
   
   // setters
   void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;}
@@ -203,7 +198,7 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   void SetMatchWidth(UInt_t i) {fMatch=i;}
   void SetSTDOutput(Bool_t f=kFALSE) {fStdout=f;}  
   void SetCalcErr(Bool_t f=kTRUE) {fCalcerr=f;}
-  void SetRawSP(Bool_t f=kFALSE) {fRawSP=f;}
+  void SetFillRawClusters(Bool_t f=kFALSE) {fFillRawClusters=f;}
   void SetReader(AliHLTTPCDigitReader* f){fDigitReader = f;}
 
   void Set32BitFormat(Bool_t flag){f32BitFormat = flag;}
@@ -216,9 +211,9 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   
   vector<AliHLTTPCPadVector> fRowPadVector;     //! transient
   
-  void FillMCClusterVector(vector<AliHLTTPCDigitData> digitData);
+  void FillMCClusterVector(vector<AliHLTTPCDigitData> *digitData);
 
-  vector<AliHLTTPCClusterFinder::MCWeight> GetClusterMCInfo(){return fClusterMCVector;}
+  vector<AliHLTTPCClusterMCWeight> GetClusterMCInfo() const {return fClusterMCVector;}
 
   Bool_t UpdateCalibDB();
 
@@ -237,7 +232,7 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   Bool_t fDeconvPad;       //! deconv in pad direction
   Bool_t fStdout;          //! have print out in write clusters
   Bool_t fCalcerr;         //! calculate centroid sigmas
-  Bool_t fRawSP;           //! store centroids in raw system
+  Bool_t fFillRawClusters; //! store centroids in raw system in separate array
 
 
   Int_t fFirstRow;       //! first row
@@ -259,9 +254,11 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
  
   vector<AliHLTTPCClusters> fClusters;                             //! transient
 
-  vector<ClusterMCInfo> fClustersMCInfo;                           //! transient
+  vector<AliHLTTPCClusterMCLabel> fClustersMCInfo;                           //! transient
 
   vector<AliHLTTPCDigitData> fMCDigits;                            //! transient
+
+  vector<AliHLTTPCRawCluster> fRawClusters;                        //! transient
   
   UInt_t* fNumberOfPadsInRow;                                      //! transient
   
@@ -283,10 +280,12 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
 
   Bool_t fDoMC;                                                    //! transient
 
-  vector<MCWeight> fClusterMCVector;                               //! transient
+  vector<AliHLTTPCClusterMCWeight> fClusterMCVector;                               //! transient
 
   AliTPCTransform * fOfflineTransform;                             //! transient
 
+  AliTPCParam   *fOfflineTPCParam;                                 //! transient
+
   AliTPCRecoParam fOfflineTPCRecoParam;                            //! transient
 
   Float_t fTimeMeanDiff;                                           //! transient
@@ -294,9 +293,9 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   Bool_t fReleaseMemory; //! flag to release the memory after each event
 
 #ifdef do_mc
-  void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
+  void GetTrackID(Int_t pad,Int_t time,Int_t *trackID) const;
 #endif
   
-  ClassDef(AliHLTTPCClusterFinder,11) //Fast cluster finder
+  ClassDef(AliHLTTPCClusterFinder, 0) //Fast cluster finder
 };
 #endif