]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ACORDE/AliACORDEModule.h
Adding the HBT LinkDef and pkg files (Adam-Mike)
[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 typedef AliACORDEModule AliCRTModule; // for backward compatibility
66
67 inline void AliACORDEModule::SetScintillatorThickness(Float_t thick)
68 { fScintillatorThickness = thick; }
69
70 inline void AliACORDEModule::SetScintillatorWidth(Float_t width)
71 { fScintillatorWidth = width; }
72
73 inline void AliACORDEModule::SetScintillatorLenght(Float_t length)
74 { fScintillatorLength = length; }
75
76 inline void AliACORDEModule::SetFrameThickness(Float_t thick)
77 { fFrameThickness = thick; }
78
79 inline void AliACORDEModule::SetFrameWidth(Float_t width)
80 { fFrameWidth = width; }
81
82 inline void AliACORDEModule::SetFrameLength(Float_t length)
83 { fFrameLength = length; }
84
85 inline void AliACORDEModule::SetNumberOfColumns(Int_t ncols)
86 { fNColumns = ncols; }
87
88 inline void AliACORDEModule::SetNumberOfRows(Int_t nrows)
89 { fNRows = nrows; }
90
91 inline void AliACORDEModule::SetZGap(Float_t zgap)
92 { fZGap = zgap; }
93
94 inline void AliACORDEModule::SetXGap(Float_t xgap)
95 { fXGap = xgap; }
96
97 inline Float_t AliACORDEModule::ScintillatorThickness() const
98 { return fScintillatorThickness; }
99
100 inline Float_t AliACORDEModule::ScintillatorWidth() const
101 { return fScintillatorWidth; }
102
103 inline Float_t AliACORDEModule::ScintillatorLenght() const
104 { return fScintillatorLength; }
105
106 inline Float_t AliACORDEModule::FrameThickness() const
107 { return fFrameThickness; }
108
109 inline Float_t AliACORDEModule::FrameWidth() const
110 { return fFrameWidth; }
111
112 inline Float_t AliACORDEModule::FrameLength() const
113 { return fFrameLength; }
114
115 inline Int_t AliACORDEModule::NumberOfModules() const
116 { return fNColumns*fNRows; }
117
118 inline Int_t AliACORDEModule::NumberOfColumns() const
119 { return fNColumns; }
120
121 inline Int_t AliACORDEModule::NumberOfRows() const
122 { return fNRows; }
123
124 inline Float_t AliACORDEModule::ZGap() const
125 { return fZGap; }
126
127 inline Float_t AliACORDEModule::XGap() const
128 { return fXGap; }
129 #endif // ALIACORDEMODULE_H