-#ifndef ALITRDCLUSTERIZERV1_h
-#define ALITRDCLUSTERIZERV1_h
+#ifndef ALITRDCLUSTERIZERV1_H
+#define ALITRDCLUSTERIZERV1_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
/* $Id$ */
-#include "AliTRD.h"
-#include "AliTRDdigitsManager.h"
#include "AliTRDclusterizer.h"
///////////////////////////////////////////////////////
// Finds and handles cluster (slow simulation) //
///////////////////////////////////////////////////////
+class AliTRDdataArrayI;
+class AliTRDdataArrayF;
+class AliTRDdigitsManager;
+class AliRawReader;
+
class AliTRDclusterizerV1 : public AliTRDclusterizer {
public:
AliTRDclusterizerV1();
AliTRDclusterizerV1(const Text_t* name, const Text_t* title);
- AliTRDclusterizerV1(AliTRDclusterizerV1 &c);
+ AliTRDclusterizerV1(const AliTRDclusterizerV1 &c);
virtual ~AliTRDclusterizerV1();
+ AliTRDclusterizerV1 &operator=(const AliTRDclusterizerV1 &c);
- virtual void Copy(AliTRDclusterizerV1 &c);
- virtual void Init();
- virtual Bool_t MakeCluster();
- 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() { return fClusMaxThresh; };
- virtual Float_t GetClusSigThresh() { return fClusSigThresh; };
- virtual Int_t GetClusMethod() { return fClusMethod; };
-
- inline AliTRDclusterizerV1 &operator=(AliTRDclusterizerV1 &c);
+ virtual void Copy(TObject &c) const;
+ virtual Bool_t MakeClusters();
+ virtual Bool_t ReadDigits();
+ virtual Bool_t ReadDigits(AliRawReader* rawReader);
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
+ AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
private:
+ void DeConvExp(Double_t *source, Double_t *target, Int_t nTimeTotal, Int_t nexp);
+ void Transform(AliTRDdataArrayI* digitsIn, AliTRDdataArrayF* digitsOut,
+ Int_t idet, Int_t nRowMax, Int_t nColMax, Int_t nTimeTotal, Float_t ADCthreshold);
+ virtual Double_t Unfold(Double_t eps, Int_t plane, Double_t *padSignal);
+ Double_t GetCOG(Double_t signal[5]); // get COG position
- virtual Float_t Unfold(Float_t eps, Float_t *padSignal);
- virtual Float_t PadResponse(Float_t x);
-
- ClassDef(AliTRDclusterizerV1,1) // TRD-Cluster manager, slow simulator
+ ClassDef(AliTRDclusterizerV1,5) // TRD-Cluster finder, slow simulator
};
-//_____________________________________________________________________________
-AliTRDclusterizerV1 &AliTRDclusterizerV1::operator=(AliTRDclusterizerV1 &c)
-{
- //
- // Assignment operator
- //
-
- if (this != &c) c.Copy(*this);
- return *this;
-
-}
-
#endif