-// @(#) $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;
};
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();
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);
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;}
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();
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
vector<AliHLTTPCClusters> fClusters; //! transient
- vector<ClusterMCInfo> fClustersMCInfo; //! transient
+ vector<AliHLTTPCClusterMCLabel> fClustersMCInfo; //! transient
vector<AliHLTTPCDigitData> fMCDigits; //! transient
+
+ vector<AliHLTTPCRawCluster> fRawClusters; //! transient
UInt_t* fNumberOfPadsInRow; //! transient
Bool_t fDoMC; //! transient
- vector<MCWeight> fClusterMCVector; //! transient
+ vector<AliHLTTPCClusterMCWeight> fClusterMCVector; //! transient
AliTPCTransform * fOfflineTransform; //! transient
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