Make code compliant to coding conventions
[u/mrichter/AliRoot.git] / TRD / AliTRDdigitsManager.h
1 #ifndef ALITRDDIGITSMANAGER_H
2 #define ALITRDDIGITSMANAGER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliTRDdigitsManager.h,v */
8
9 /////////////////////////////////////////////////////////////
10 //  Manages the TRD digits                                 //
11 /////////////////////////////////////////////////////////////
12
13 #include "TObject.h"
14
15 #include "AliTRDsegmentArray.h"
16 #include "AliTRDdataArrayI.h"
17 #include "AliTRDdigit.h"
18
19 const Int_t  kNDict = 3;
20
21 class AliTRDdigitsManager : public TObject {
22
23  public:
24
25   AliTRDdigitsManager();
26   AliTRDdigitsManager(AliTRDdigitsManager &m);
27   virtual ~AliTRDdigitsManager();
28
29   virtual void                Copy(AliTRDdigitsManager &m);
30   virtual Bool_t              MakeBranch();
31   virtual Bool_t              ReadDigits();
32   virtual Bool_t              WriteDigits();
33
34   virtual void                SetRaw();
35
36   virtual Bool_t              IsRaw()                { return fIsRaw;         };
37   virtual AliTRDsegmentArray *GetDigits()            { return fDigits;        };
38   virtual AliTRDsegmentArray *GetDictionary(Int_t i) { return fDictionary[i]; };
39
40           AliTRDdigit        *GetDigit(Int_t row, Int_t col, Int_t time, Int_t det);
41           Int_t               GetTrack(Int_t track, Int_t row, Int_t col, Int_t time, Int_t det);
42
43   inline  AliTRDdataArrayI   *GetDigits(Int_t det);
44   inline  AliTRDdataArrayI   *GetDictionary(Int_t det, Int_t i);
45   inline  Int_t               GetTrack(Int_t track, AliTRDdigit *Digit);
46
47   inline  AliTRDdigitsManager &operator=(AliTRDdigitsManager &m);
48
49  protected:
50
51   AliTRDsegmentArray *fDigits;             //! Digits data Array
52   AliTRDsegmentArray *fDictionary[kNDict]; //! Track dictionary data array
53
54   Bool_t              fIsRaw;              //  Flag indicating raw digits
55
56   ClassDef(AliTRDdigitsManager,1)          //  Manages the TRD digits
57
58 };
59
60 //_____________________________________________________________________________
61 AliTRDdataArrayI *AliTRDdigitsManager::GetDigits(Int_t det) 
62 {
63   //
64   // Returns the digits array for one detector
65   //
66
67   return (AliTRDdataArrayI *) fDigits->At(det);
68
69 }
70
71 //_____________________________________________________________________________
72 AliTRDdataArrayI *AliTRDdigitsManager::GetDictionary(Int_t det, Int_t i) 
73 {
74   //
75   // Returns the dictionary for one detector
76   //
77
78   return (AliTRDdataArrayI *) fDictionary[i]->At(det);
79
80 }
81
82 //_____________________________________________________________________________
83 Int_t AliTRDdigitsManager::GetTrack(Int_t track, AliTRDdigit *Digit)
84 {
85   // 
86   // Returns the MC-track numbers from the dictionary for a given digit
87   //
88
89   Int_t row  = Digit->GetRow();
90   Int_t col  = Digit->GetCol();
91   Int_t time = Digit->GetTime();
92   Int_t det  = Digit->GetDetector();
93
94   return GetTrack(track,row,col,time,det);
95
96 }
97
98 //_____________________________________________________________________________
99 AliTRDdigitsManager &AliTRDdigitsManager::operator=(AliTRDdigitsManager &m)
100 {
101   //
102   // Assignment operator
103   //
104
105   if (this != &m) m.Copy(*this);
106   return *this;
107
108 }
109
110 #endif