]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCClusterFinder.h
Updated SNM Glauber fit
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterFinder.h
index ab58327d184c9bd62a0584e1461fc2064428dab1..30301c4cb67f5b726560524462f8edf1c2efc6d3 100644 (file)
@@ -1,5 +1,5 @@
-// @(#) $Id$
-// Original: AliHLTClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides 
+//-*- Mode: C++ -*-
+// $Id$
 
 #ifndef ALIHLTTPCCLUSTERFINDER_H
 #define ALIHLTTPCCLUSTERFINDER_H
 #include "AliHLTTPCDigitData.h"
 #include "AliHLTTPCDigitReader.h"
 #include "AliTPCRecoParam.h"
+#include "AliHLTTPCClusterMCData.h"
+#include "AliHLTTPCRawCluster.h"
 
 class AliHLTTPCPad;
-class AliHLTTPCSpacePointData;
+struct AliHLTTPCSpacePointData;
 class AliHLTTPCClusters;
 class AliTPCTransform;
 class AliTPCParam;
@@ -124,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();
@@ -168,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);
@@ -204,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;}
@@ -217,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() const {return fClusterMCVector;}
+  vector<AliHLTTPCClusterMCWeight> GetClusterMCInfo() const {return fClusterMCVector;}
 
   Bool_t UpdateCalibDB();
 
@@ -238,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
@@ -260,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
   
@@ -284,7 +280,7 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
 
   Bool_t fDoMC;                                                    //! transient
 
-  vector<MCWeight> fClusterMCVector;                               //! transient
+  vector<AliHLTTPCClusterMCWeight> fClusterMCVector;                               //! transient
 
   AliTPCTransform * fOfflineTransform;                             //! transient
 
@@ -300,6 +296,6 @@ class AliHLTTPCClusterFinder : public AliHLTLogging {
   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