1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 ////////////////////////////////////////////////////////////////////////
20 // AliACORDEConstants class
22 // This class serves to group constants needed by ACORDE detector in 1
23 // easily accessible place. All constants are public const static data
24 // members. The class is never instatiated.
25 // Authors: Arturo Fernandez, Enrique Gamez, Mario RodrÃguez Cahuantzi, Eleazar Cuautle(ICN-UNAM)
28 ////////////////////////////////////////////////////////////////////////
30 #include "AliACORDEConstants.h"
32 AliACORDEConstants* AliACORDEConstants::fgInstance = 0;
34 const Float_t AliACORDEConstants::fgkModuleLength = 300.0;
35 const Float_t AliACORDEConstants::fgkModuleWidth = 26.0;
36 const Float_t AliACORDEConstants::fgkModuleHeight = 10.0;
37 const Float_t AliACORDEConstants::fgkPlasticLength = 190.0;
38 const Float_t AliACORDEConstants::fgkPlasticWidth = 20.0;
39 const Float_t AliACORDEConstants::fgkPlasticHeight = 1.0;
40 const Float_t AliACORDEConstants::fgkProfileWidth = 3.8;
41 const Float_t AliACORDEConstants::fgkProfileThickness = 0.3;
42 const Float_t AliACORDEConstants::fgkDepth =4420;
44 const Float_t AliACORDEConstants::fgkHitEnergyThreshold = 1.52; // MeV
45 const Float_t AliACORDEConstants::fgkMaxHitTimeDifference = 40.0; // ns
46 const Int_t AliACORDEConstants::fgkMultiMuonThreshold = 2;
47 const Float_t AliACORDEConstants::fgkMultiMuonWindow = 25;
48 const Float_t AliACORDEConstants::fgkModulePositionX[60] = {
49 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
50 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
51 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
52 -153, -153, -153, -153, -153, -153, -153, -153, -153,
53 -153, -426, -426, -426, -426, -426, -426, -426, -426,
54 -426, -426, -644, -644, -644, -644, -644, -619, -623,
56 const Float_t AliACORDEConstants::fgkModulePositionY[60] = {
57 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
58 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
59 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
60 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
61 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
62 582, 582, 582, 582, 582, 609, 605, 582, 582, 582};
63 const Float_t AliACORDEConstants::fgkModulePositionZ[60] = {
64 450, 350, 250, 150, 50, -50, -120, -280, -350, -450,
65 450, 350, 250, 150, 50, -50, -150, -250, -350, -450,
66 450, 350, 250, 150, 50, -50, -150, -250, -350, -450,
67 450, 350, 250, 150, 50, -50, -150, -250, -350, -450,
68 450, 350, 250, 150, 50, -50, -150, -250, -350, -450,
69 450, 350, 250, 104, 50, -76, -176, -250, -350, -450};
71 const Float_t AliACORDEConstants::fgkExtraModulePositionZ[4] = {93.0, 18., -18, -93};
72 const Float_t AliACORDEConstants::fgkExtraModulePositionX = 0.0;
73 const Float_t AliACORDEConstants::fgkExtraModulePositionY = 850.0;
75 ClassImp(AliACORDEConstants)
77 //_____________________________________________________________________________
78 AliACORDEConstants::AliACORDEConstants()
81 // Default constructor
85 //_____________________________________________________________________________
86 AliACORDEConstants* AliACORDEConstants::Instance()
89 fgInstance = new AliACORDEConstants;
94 //_____________________________________________________________________________
95 AliACORDEConstants::~AliACORDEConstants()
100 //_____________________________________________________________________________
101 Float_t AliACORDEConstants::ModulePositionX(Int_t i) const
104 return fgkModulePositionX[i];
107 //_____________________________________________________________________________
108 Float_t AliACORDEConstants::ModulePositionY(Int_t i) const
111 return fgkModulePositionY[i];
113 //_____________________________________________________________________________
114 Float_t AliACORDEConstants::ModulePositionZ(Int_t i) const
117 return fgkModulePositionZ[i];
120 Float_t AliACORDEConstants::ExtraModulePositionX() const
123 return fgkExtraModulePositionX;
126 //_____________________________________________________________________________
127 Float_t AliACORDEConstants::ExtraModulePositionY() const
130 return fgkExtraModulePositionY;
132 //_____________________________________________________________________________
133 Float_t AliACORDEConstants::ExtraModulePositionZ(Int_t i) const
136 return fgkExtraModulePositionZ[i];
139 //_____________________________________________________________________________
140 Float_t AliACORDEConstants::ModuleLength() const
143 return fgkModuleLength;
146 //_____________________________________________________________________________
147 Float_t AliACORDEConstants::ModuleWidth() const
150 return fgkModuleWidth;
153 //_____________________________________________________________________________
154 Float_t AliACORDEConstants::ModuleHeight() const
157 return fgkModuleHeight;
160 //_____________________________________________________________________________
161 Float_t AliACORDEConstants::PlasticLength() const
163 // Length of the scintillator active zone for a single counter
164 return fgkPlasticLength;
167 //_____________________________________________________________________________
168 Float_t AliACORDEConstants::PlasticWidth() const
170 // Width of the scintillator active zone for a single counter
171 return fgkPlasticWidth;
174 //_____________________________________________________________________________
175 Float_t AliACORDEConstants::PlasticHeight() const
177 // Height of the scintillator active zone for a single counter
178 return fgkPlasticHeight;
181 Float_t AliACORDEConstants::ProfileWidth() const
183 // Width of the profile of the Al box
184 return fgkProfileWidth;
187 Float_t AliACORDEConstants::ProfileThickness() const
189 // Thickness of the profile of the Al box
190 return fgkProfileThickness;
194 //_____________________________________________________________________________
195 Float_t AliACORDEConstants::Depth() const