/* $Id$ */
-#include "AliTRDclusterizer.h"
+////////////////////////////////////////////////////////////////////////////
+// //
+// TRD cluster finder //
+// //
+////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////
-// Finds and handles cluster (slow simulation) //
-///////////////////////////////////////////////////////
+#include "AliTRDclusterizer.h"
+class AliTRDdataArrayI;
+class AliTRDdataArrayF;
class AliTRDdigitsManager;
+class AliTRDCalROC;
+class AliRawReader;
class AliTRDclusterizerV1 : public AliTRDclusterizer {
AliTRDclusterizerV1();
AliTRDclusterizerV1(const Text_t* name, const Text_t* title);
AliTRDclusterizerV1(const AliTRDclusterizerV1 &c);
- virtual ~AliTRDclusterizerV1();
+ virtual ~AliTRDclusterizerV1();
AliTRDclusterizerV1 &operator=(const AliTRDclusterizerV1 &c);
- virtual void Copy(TObject &c);
- virtual void Init();
- virtual Bool_t MakeClusters();
- virtual Bool_t ReadDigits();
-
- virtual void SetClusMaxThresh(Float_t thresh) { fClusMaxThresh = thresh; };
- virtual void SetClusSigThresh(Float_t thresh) { fClusSigThresh = thresh; };
- virtual void SetClusMethod(Int_t meth) { fClusMethod = meth; };
-
- virtual Float_t GetClusMaxThresh() const { return fClusMaxThresh; };
- virtual Float_t GetClusSigThresh() const { return fClusSigThresh; };
- virtual Int_t GetClusMethod() const { return fClusMethod; };
+ virtual void Copy(TObject &c) const;
+ virtual Bool_t MakeClusters();
+ virtual Bool_t ReadDigits();
+ virtual Bool_t ReadDigits(AliRawReader *rawReader);
+ virtual Bool_t ReadDigits(TTree *digitsTree);
protected:
- AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
-
- Float_t fClusMaxThresh; // Threshold value for cluster maximum
- Float_t fClusSigThresh; // Threshold value for cluster signal
- Int_t fClusMethod; // Clustering method
-
- private:
+ void DeConvExp(Double_t *source, Double_t *target
+ , Int_t nTimeTotal, Int_t nexp);
+ void Transform(AliTRDdataArrayI *digitsIn, AliTRDdataArrayF *digitsOut
+ , Int_t nRowMax, Int_t nColMax, Int_t nTimeTotal
+ , Float_t ADCthreshold
+ , AliTRDCalROC *calGainFactorROC
+ , Float_t calGainFactorDetValue);
+ virtual Double_t Unfold(Double_t eps, Int_t plane, Double_t *padSignal);
+ Double_t GetCOG(Double_t signal[5]);
- virtual Float_t Unfold(Float_t eps, Float_t *padSignal);
- virtual Float_t PadResponse(Float_t x);
+ AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
- ClassDef(AliTRDclusterizerV1,1) // TRD-Cluster manager, slow simulator
+ ClassDef(AliTRDclusterizerV1,5) // TRD-Cluster finder, slow simulator
};