This commit was generated by cvs2svn to compensate for changes in r15989,
[u/mrichter/AliRoot.git] / ACORDE / AliACORDEModule.h
1 #ifndef ALIACORDEMODULE_H
2 #define ALIACORDEMODULE_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 // ACORDE module geometry manager //
9 /////////////////////////////////
10
11 #include <TNamed.h>
12
13 class AliACORDEModule : public TNamed {
14 public:
15   AliACORDEModule();
16   AliACORDEModule(const char* name, const char* title);
17   AliACORDEModule(const AliACORDEModule& mod);
18   virtual ~AliACORDEModule();
19
20   AliACORDEModule& operator=(const AliACORDEModule& mod);
21
22   void SetScintillatorThickness(Float_t thickness);
23   void SetScintillatorWidth(Float_t width);
24   void SetScintillatorLenght(Float_t length);
25
26   void SetFrameThickness(Float_t thickness);
27   void SetFrameWidth(Float_t width);
28   void SetFrameLength(Float_t length);
29
30   void SetNumberOfColumns(Int_t ncols);
31   void SetNumberOfRows(Int_t nrows);
32
33   void SetZGap(Float_t zgap);
34   void SetXGap(Float_t xgap);
35
36   Float_t ScintillatorThickness() const;
37   Float_t ScintillatorWidth() const;
38   Float_t ScintillatorLenght() const;
39
40   Float_t FrameThickness() const;
41   Float_t FrameWidth() const;
42   Float_t FrameLength() const;
43
44   Int_t NumberOfModules() const;
45   Int_t NumberOfColumns() const;
46   Int_t NumberOfRows() const;
47
48   Float_t ZGap() const;
49   Float_t XGap() const;
50
51 private:
52   Float_t fScintillatorThickness; // Scintillator thickness
53   Float_t fScintillatorWidth; // Scintillator width
54   Float_t fScintillatorLength; // Scintillator length
55   Float_t fFrameThickness; // Aluminium frame thickness
56   Float_t fFrameWidth; // Aluminium frame width
57   Float_t fFrameLength; // Aliuminium frame length
58   Int_t fNColumns;//Number of modules per column per magnet face (z coordinate)
59   Int_t fNRows; // Number of module rows per magnet face (x coordinate)
60   Float_t fZGap; // Gap in Z betwen modules
61   Float_t fXGap; // Gap in X betwen modules
62   ClassDef(AliACORDEModule, 1)// ACORDE module geometry manager
63 };
64
65 inline void AliACORDEModule::SetScintillatorThickness(Float_t thick)
66 { fScintillatorThickness = thick; }
67
68 inline void AliACORDEModule::SetScintillatorWidth(Float_t width)
69 { fScintillatorWidth = width; }
70
71 inline void AliACORDEModule::SetScintillatorLenght(Float_t length)
72 { fScintillatorLength = length; }
73
74 inline void AliACORDEModule::SetFrameThickness(Float_t thick)
75 { fFrameThickness = thick; }
76
77 inline void AliACORDEModule::SetFrameWidth(Float_t width)
78 { fFrameWidth = width; }
79
80 inline void AliACORDEModule::SetFrameLength(Float_t length)
81 { fFrameLength = length; }
82
83 inline void AliACORDEModule::SetNumberOfColumns(Int_t ncols)
84 { fNColumns = ncols; }
85
86 inline void AliACORDEModule::SetNumberOfRows(Int_t nrows)
87 { fNRows = nrows; }
88
89 inline void AliACORDEModule::SetZGap(Float_t zgap)
90 { fZGap = zgap; }
91
92 inline void AliACORDEModule::SetXGap(Float_t xgap)
93 { fXGap = xgap; }
94
95 inline Float_t AliACORDEModule::ScintillatorThickness() const
96 { return fScintillatorThickness; }
97
98 inline Float_t AliACORDEModule::ScintillatorWidth() const
99 { return fScintillatorWidth; }
100
101 inline Float_t AliACORDEModule::ScintillatorLenght() const
102 { return fScintillatorLength; }
103
104 inline Float_t AliACORDEModule::FrameThickness() const
105 { return fFrameThickness; }
106
107 inline Float_t AliACORDEModule::FrameWidth() const
108 { return fFrameWidth; }
109
110 inline Float_t AliACORDEModule::FrameLength() const
111 { return fFrameLength; }
112
113 inline Int_t AliACORDEModule::NumberOfModules() const
114 { return fNColumns*fNRows; }
115
116 inline Int_t AliACORDEModule::NumberOfColumns() const
117 { return fNColumns; }
118
119 inline Int_t AliACORDEModule::NumberOfRows() const
120 { return fNRows; }
121
122 inline Float_t AliACORDEModule::ZGap() const
123 { return fZGap; }
124
125 inline Float_t AliACORDEModule::XGap() const
126 { return fXGap; }
127 #endif // ALIACORDEMODULE_H