1 #ifndef ALITRDCLUSTERIZERV2_H
2 #define ALITRDCLUSTERIZERV2_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ////////////////////////////////////////////////////////////////////////////
10 // TRD cluster finder //
12 ////////////////////////////////////////////////////////////////////////////
14 #include "AliTRDclusterizer.h"
16 class AliTRDdataArrayI;
17 class AliTRDdataArrayF;
18 class AliTRDdigitsManager;
21 class AliTRDSignalIndex;
24 class AliTRDclusterizerV2 : public AliTRDclusterizer {
28 AliTRDclusterizerV2();
29 AliTRDclusterizerV2(const Text_t* name, const Text_t* title);
30 AliTRDclusterizerV2(const AliTRDclusterizerV2 &c);
31 virtual ~AliTRDclusterizerV2();
32 AliTRDclusterizerV2 &operator=(const AliTRDclusterizerV2 &c);
34 virtual void Copy(TObject &c) const;
35 virtual Bool_t Raw2Clusters(AliRawReader *rawReader);
36 virtual Bool_t Raw2ClustersChamber(AliRawReader *rawReader);
37 virtual Bool_t MakeClusters();
38 virtual Bool_t MakeClusters(Int_t det);
39 virtual Bool_t ReadDigits();
40 virtual Bool_t ReadDigits(AliRawReader *rawReader);
41 virtual Bool_t ReadDigits(TTree *digitsTree);
43 virtual Bool_t AddLabels(Int_t idet, Int_t firstClusterROC, Int_t nClusterROC);
44 virtual Bool_t SetAddLabels(Bool_t kset) { fAddLabels = kset; return fAddLabels;} // should we assign labels to clusters
45 virtual void SetRawVersion(Int_t iver) { fRawVersion = iver;} // set the expected raw data version
49 void DeConvExp(Double_t *source, Double_t *target
50 , Int_t nTimeTotal, Int_t nexp);
51 void Transform(AliTRDdataArrayI *digitsIn
52 , AliTRDdataArrayF *digitsOut
53 , AliTRDSignalIndex *indexesIn
54 , AliTRDSignalIndex *indexesOut
56 , Float_t ADCthreshold
57 , AliTRDCalROC *calGainFactorROC
58 , Float_t calGainFactorDetValue);
59 /* void Transform(AliTRDdataArrayI *digitsIn, AliTRDdataArrayF *digitsOut */
60 /* , Int_t nRowMax, Int_t nColMax, Int_t nTimeTotal */
61 /* , Float_t ADCthreshold */
62 /* , AliTRDCalROC *calGainFactorROC */
63 /* , Float_t calGainFactorDetValue); */
64 virtual Double_t Unfold(Double_t eps, Int_t plane, Double_t *padSignal);
65 Double_t GetCOG(Double_t signal[5]);
67 virtual void ResetHelperIndexes(AliTRDSignalIndex *indexesIn);
69 AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
70 AliTRDgeometry *fGeometry; //! default TRD geometry
72 Bool_t fAddLabels; // should clusters have MC labels?
73 Int_t fRawVersion; // expected raw version of the data - default is 2
75 AliTRDSignalIndex *fIndexesOut; //! helper indexes for clusterization
76 AliTRDSignalIndex *fIndexesMaxima; //! helper indexes for clusterization
77 ClassDef(AliTRDclusterizerV2,1) // TRD-Cluster finder, slow simulator