1 #ifndef ALITRDCLUSTERIZER_H
2 #define ALITRDCLUSTERIZER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
14 class AliTRDparameter;
17 ///////////////////////////////////////////////////////
18 // Finds and handles cluster //
19 ///////////////////////////////////////////////////////
21 class AliTRDclusterizer : public TNamed {
26 AliTRDclusterizer(const Text_t* name, const Text_t* title);
27 AliTRDclusterizer(const AliTRDclusterizer &c);
28 virtual ~AliTRDclusterizer();
29 AliTRDclusterizer &operator=(const AliTRDclusterizer &c);
31 virtual void Copy(TObject &c) const;
32 virtual Bool_t Open(const Char_t *name, Int_t nEvent = 0);
34 virtual Bool_t OpenInput(Int_t nEvent = 0);
35 virtual Bool_t OpenOutput();
36 virtual Bool_t MakeClusters() = 0;
37 virtual Bool_t WriteClusters(Int_t det);
38 virtual void SetParameter(AliTRDparameter *par) { fPar = par; };
39 void SetVerbose(Int_t v = 1) { fVerbose = v; };
41 AliTRDparameter *GetParameter() const { return fPar; };
43 TObjArray* RecPoints() {if (!fRecPoints) fRecPoints = new TObjArray(400); return fRecPoints;}
44 virtual AliTRDcluster * AddCluster(Double_t *pos, Int_t timebin, Int_t det, Double_t amp, Int_t *tracks
45 , Double_t *sig, Int_t iType, Float_t center = 0);
46 void ResetRecPoints() {if (fRecPoints) fRecPoints->Delete();}
50 Double_t CalcXposFromTimebin(Float_t timebin, Float_t vdrift);
52 AliRunLoader *fRunLoader; //! Run Loader
54 TTree *fClusterTree; //! Tree with the cluster
55 AliTRDparameter *fPar; // TRD digitization parameter object
57 TObjArray* fRecPoints; //! Array of clusters
58 Int_t fVerbose; // Sets the verbose level
60 ClassDef(AliTRDclusterizer,3) // TRD-Cluster manager base class