Add new TRD classes
[u/mrichter/AliRoot.git] / TRD / AliTRDclusterizer.h
1 #ifndef TRDclusterizer_h
2 #define TRDclusterizer_h
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include <TNamed.h>
9 #include <TFile.h>
10
11 ///////////////////////////////////////////////////////
12 //  Finds and handles cluster                        //
13 ///////////////////////////////////////////////////////
14
15 class AliTRDclusterizer : public TNamed {
16
17  public:
18
19   AliTRDclusterizer();
20   AliTRDclusterizer(const Text_t* name, const Text_t* title);
21   ~AliTRDclusterizer();
22
23   virtual void    Init();
24   virtual Bool_t  Open(const Char_t *name, Int_t nEvent = 0);
25   virtual Bool_t  MakeCluster() = 0;
26   virtual Bool_t  WriteCluster();
27
28  protected:
29
30   TFile   *fInputFile;             //! AliROOT input file
31   
32   Int_t    fEvent;                 //! Event number
33
34   ClassDef(AliTRDclusterizer,1)    // TRD-Cluster manager base class
35
36 };
37
38 //_____________________________________________________________________________
39 class AliTRDcluster : public TObject {
40
41 public:
42
43   Int_t    fDetector;       // TRD detector number
44
45   Int_t    fTimeSlice;      // Timeslice in chamber where cluster has been found
46   Float_t  fEnergy;         // Charge sum of this cluster
47
48   Float_t  fX;              // X coord in ALICE reference frame
49   Float_t  fY;              // Y coord in ALICE reference frame
50   Float_t  fZ;              // Z coord in ALICE reference frame
51
52   Int_t    fTracks[3];      // Track information
53
54 public:
55
56   AliTRDcluster() {};
57   AliTRDcluster(Int_t *tracks, Int_t *cluster, Float_t energy, Float_t *pos);
58   virtual ~AliTRDcluster() {};
59
60   inline virtual Int_t *GetTracks() { return &fTracks[0]; }
61
62   ClassDef(AliTRDcluster,1) // Cluster for Transition Radiation Detector
63
64 };
65
66 #endif