// Finds and handles cluster (slow simulation) //
///////////////////////////////////////////////////////
+class AliTRDdataArrayI;
+class AliTRDdataArrayF;
class AliTRDdigitsManager;
+class AliRawReader;
class AliTRDclusterizerV1 : public AliTRDclusterizer {
virtual ~AliTRDclusterizerV1();
AliTRDclusterizerV1 &operator=(const AliTRDclusterizerV1 &c);
- virtual void Copy(TObject &c);
- virtual void Init();
- virtual Bool_t MakeClusters();
- virtual Bool_t ReadDigits();
- void UseLUT() { fUseLUT = kTRUE; };
- void UseCOG() { fUseLUT = kFALSE; };
-
- void SetClusMaxThresh(Int_t thresh) { fClusMaxThresh = thresh; };
- void SetClusSigThresh(Int_t thresh) { fClusSigThresh = thresh; };
-
- Int_t GetClusMaxThresh() const { return fClusMaxThresh; };
- Int_t GetClusSigThresh() const { return fClusSigThresh; };
+ virtual void Copy(TObject &c) const;
+ virtual Bool_t MakeClusters();
+ virtual Bool_t ReadDigits();
+ virtual Bool_t ReadDigits(AliRawReader* rawReader);
protected:
-
- enum {
- kNlut = 128 // Dimension of the lookup table
- };
- AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
-
- Int_t fClusMaxThresh; // Threshold value for cluster maximum
- Int_t fClusSigThresh; // Threshold value for cluster signal
- Bool_t fUseLUT; // Switch for the lookup table method
- Float_t fLUT[kNlut]; // The lookup table
+ 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,2) // TRD-Cluster finder, slow simulator
+ ClassDef(AliTRDclusterizerV1,5) // TRD-Cluster finder, slow simulator
};