/* $Id$ */
-#include "AliTRD.h"
-#include "AliTRDdigitsManager.h"
#include "AliTRDclusterizer.h"
///////////////////////////////////////////////////////
// Finds and handles cluster (slow simulation) //
///////////////////////////////////////////////////////
+class AliTRDdigitsManager;
+
class AliTRDclusterizerV1 : public AliTRDclusterizer {
public:
virtual void Copy(TObject &c);
virtual void Init();
- virtual Bool_t MakeCluster();
+ virtual Bool_t MakeClusters();
virtual Bool_t ReadDigits();
+ void UseLUT() { fUseLUT = kTRUE; };
+ void UseCOG() { fUseLUT = kFALSE; };
- virtual void SetClusMaxThresh(Float_t thresh) { fClusMaxThresh = thresh; };
- virtual void SetClusSigThresh(Float_t thresh) { fClusSigThresh = thresh; };
- virtual void SetClusMethod(Int_t meth) { fClusMethod = meth; };
+ void SetClusMaxThresh(Int_t thresh) { fClusMaxThresh = thresh; };
+ void SetClusSigThresh(Int_t thresh) { fClusSigThresh = thresh; };
- virtual Float_t GetClusMaxThresh() { return fClusMaxThresh; };
- virtual Float_t GetClusSigThresh() { return fClusSigThresh; };
- virtual Int_t GetClusMethod() { return fClusMethod; };
+ Int_t GetClusMaxThresh() const { return fClusMaxThresh; };
+ Int_t GetClusSigThresh() const { return fClusSigThresh; };
protected:
+
+ enum {
+ kNlut = 128 // Dimension of the lookup table
+ };
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
+ 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
private:
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,2) // TRD-Cluster finder, slow simulator
};