For rare clusters with equal charge pads do just CoG().
[u/mrichter/AliRoot.git] / T0 / AliT0.h
1 #ifndef ALIT0_H
2 #define ALIT0_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ////////////////////////////////////////////////
7 //  Manager and hits classes for set:T0     //
8 ////////////////////////////////////////////////
9  
10 #include <AliDetector.h>
11 #include <TTree.h>
12 #include "AliT0RecPoint.h"
13 #include "AliT0digit.h"
14 #include "AliT0Trigger.h"
15 #include "AliT0RawReader.h"
16
17 class TDirectory;
18 class TFile;
19 class AliESD;
20
21
22 R__EXTERN TDirectory *  gDirectory;
23  
24  
25  
26 class AliT0 : public AliDetector {
27
28
29
30 public:
31    AliT0();
32    AliT0(const char *name, const char *title);
33    virtual       ~AliT0();
34    virtual void   AddHit(Int_t track, Int_t *vol, Float_t *hits);
35    virtual void AddDigit(Int_t *, Int_t *) {};
36    virtual void   AddDigit(Int_t besttimeright, Int_t besttimeleft, Int_t meantime, 
37                            Int_t timediff, Int_t sumMult, Int_t refpoint,
38                            TArrayI *time, TArrayI *adc, TArrayI *timeAmp, TArrayI *adcAmp);
39    virtual void   BuildGeometry();
40    virtual void   CreateGeometry(){}
41    virtual void   CreateMaterials(){} 
42    virtual Int_t  DistanceToPrimitive(Int_t px, Int_t py);
43    virtual void   DrawDetector(){}
44    virtual Int_t  IsVersion()const {return 0;}
45    virtual void   Init();
46    virtual void   DefineOpticalProperties(){}
47    virtual void SetHitsAddressBranch(TBranch *b1)
48      {b1->SetAddress(&fHits);}
49    virtual void   MakeBranch(Option_t *opt=" ");
50    virtual void   StepManager(){}
51    virtual void   ResetHits();
52    virtual void   ResetDigits();
53     virtual void   SetTreeAddress();
54    virtual void   MakeBranchInTreeD(TTree *treeD, const char *file=0);
55    // virtual AliLoader* MakeLoader(const char* topfoldername);
56    virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
57    void  Digits2Raw ();
58    void  Raw2Digits (AliRawReader *reader,TTree* digitsTree);
59    virtual AliTriggerDetector* CreateTriggerDetector() const 
60      { return new  AliT0Trigger(); }
61    
62    virtual void  Raw2Digits() {}
63
64 protected:
65    Int_t           fIdSens;    // Sensetive Cherenkov photocathode
66    AliT0digit     *fDigits;    // pointer to T0digits
67    AliT0RecPoint  *fRecPoints; // pointer to T0 RecPoints
68
69  private:
70    AliT0(const AliT0&);
71    AliT0& operator=(const AliT0&);
72  
73   ClassDef(AliT0,4)  //Base class for the T0 aka T0 detector
74 };
75
76 typedef AliT0 AliSTART; // for backward compatibility
77
78 //_____________________________________________________________________________
79  
80 #endif
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111