]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ACORDE/AliACORDEConstants.cxx
Handle missing rec-point tree in a uniform way: return null pointer to TEvePointSet.
[u/mrichter/AliRoot.git] / ACORDE / AliACORDEConstants.cxx
CommitLineData
b86e74f5 1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
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 **************************************************************************/
15
16/* $Id$ */
17
18////////////////////////////////////////////////////////////////////////
19//
20// AliACORDEConstants class
21//
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.
6fb64ed1 25// Authors: Arturo Fernandez, Enrique Gamez, Mario Rodríguez Cahuantzi, Eleazar Cuautle(ICN-UNAM)
b86e74f5 26// FCFM-UAP, Mexico.
27//
28////////////////////////////////////////////////////////////////////////
29
30#include "AliACORDEConstants.h"
31
32AliACORDEConstants* AliACORDEConstants::fgInstance = 0;
33
19f796ed 34const Float_t AliACORDEConstants::fgkModuleLength = 300.0;
35const Float_t AliACORDEConstants::fgkModuleWidth = 26.0;
36const Float_t AliACORDEConstants::fgkModuleHeight = 10.0;
37const Float_t AliACORDEConstants::fgkPlasticLength = 190.0;
38const Float_t AliACORDEConstants::fgkPlasticWidth = 20.0;
39const Float_t AliACORDEConstants::fgkPlasticHeight = 1.0;
40const Float_t AliACORDEConstants::fgkProfileWidth = 3.8;
41const Float_t AliACORDEConstants::fgkProfileThickness = 0.3;
42const Float_t AliACORDEConstants::fgkDepth =4420;
43
44const Float_t AliACORDEConstants::fgkHitEnergyThreshold = 1.52; // MeV
45const Float_t AliACORDEConstants::fgkMaxHitTimeDifference = 40.0; // ns
46const Int_t AliACORDEConstants::fgkMultiMuonThreshold = 2;
47const Float_t AliACORDEConstants::fgkMultiMuonWindow = 25;
48const 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,
55 -641, -641, -641};
56const 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,
6fb64ed1 62 582, 582, 582, 582, 582, 609, 605, 582, 582, 582};
19f796ed 63const 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};
70
71const Float_t AliACORDEConstants::fgkExtraModulePositionZ[4] = {93.0, 18., -18, -93};
72const Float_t AliACORDEConstants::fgkExtraModulePositionX = 0.0;
73const Float_t AliACORDEConstants::fgkExtraModulePositionY = 850.0;
b86e74f5 74
75ClassImp(AliACORDEConstants)
76
77//_____________________________________________________________________________
78AliACORDEConstants::AliACORDEConstants()
79 : TObject()
80{
81 // Default constructor
82}
83
b86e74f5 84
85//_____________________________________________________________________________
86AliACORDEConstants* AliACORDEConstants::Instance()
87{
88 if ( !fgInstance ) {
89 fgInstance = new AliACORDEConstants;
90 }
91 return fgInstance;
92}
93
94//_____________________________________________________________________________
95AliACORDEConstants::~AliACORDEConstants()
96{
97 fgInstance = 0;
98}
99
100//_____________________________________________________________________________
19f796ed 101Float_t AliACORDEConstants::ModulePositionX(Int_t i) const
b86e74f5 102{
103 // Module lenght
19f796ed 104 return fgkModulePositionX[i];
b86e74f5 105}
106
107//_____________________________________________________________________________
19f796ed 108Float_t AliACORDEConstants::ModulePositionY(Int_t i) const
b86e74f5 109{
19f796ed 110 // Module lenght
111 return fgkModulePositionY[i];
b86e74f5 112}
b86e74f5 113//_____________________________________________________________________________
19f796ed 114Float_t AliACORDEConstants::ModulePositionZ(Int_t i) const
b86e74f5 115{
19f796ed 116 // Module lenght
117 return fgkModulePositionZ[i];
b86e74f5 118}
119
19f796ed 120Float_t AliACORDEConstants::ExtraModulePositionX() const
b86e74f5 121{
19f796ed 122 // Module lenght
123 return fgkExtraModulePositionX;
b86e74f5 124}
125
126//_____________________________________________________________________________
19f796ed 127Float_t AliACORDEConstants::ExtraModulePositionY() const
b86e74f5 128{
19f796ed 129 // Module lenght
130 return fgkExtraModulePositionY;
b86e74f5 131}
b86e74f5 132//_____________________________________________________________________________
19f796ed 133Float_t AliACORDEConstants::ExtraModulePositionZ(Int_t i) const
b86e74f5 134{
19f796ed 135 // Module lenght
136 return fgkExtraModulePositionZ[i];
b86e74f5 137}
138
139//_____________________________________________________________________________
19f796ed 140Float_t AliACORDEConstants::ModuleLength() const
141{
142 // Module lenght
143 return fgkModuleLength;
b86e74f5 144}
145
146//_____________________________________________________________________________
19f796ed 147Float_t AliACORDEConstants::ModuleWidth() const
b86e74f5 148{
19f796ed 149 // Module width
150 return fgkModuleWidth;
b86e74f5 151}
152
153//_____________________________________________________________________________
19f796ed 154Float_t AliACORDEConstants::ModuleHeight() const
b86e74f5 155{
19f796ed 156 // Module height
157 return fgkModuleHeight;
b86e74f5 158}
159
160//_____________________________________________________________________________
19f796ed 161Float_t AliACORDEConstants::PlasticLength() const
b86e74f5 162{
19f796ed 163 // Length of the scintillator active zone for a single counter
164 return fgkPlasticLength;
b86e74f5 165}
166
167//_____________________________________________________________________________
19f796ed 168Float_t AliACORDEConstants::PlasticWidth() const
b86e74f5 169{
19f796ed 170 // Width of the scintillator active zone for a single counter
171 return fgkPlasticWidth;
b86e74f5 172}
173
174//_____________________________________________________________________________
19f796ed 175Float_t AliACORDEConstants::PlasticHeight() const
b86e74f5 176{
19f796ed 177 // Height of the scintillator active zone for a single counter
178 return fgkPlasticHeight;
b86e74f5 179}
180
19f796ed 181Float_t AliACORDEConstants::ProfileWidth() const
b86e74f5 182{
19f796ed 183 // Width of the profile of the Al box
184 return fgkProfileWidth;
b86e74f5 185}
186
19f796ed 187Float_t AliACORDEConstants::ProfileThickness() const
b86e74f5 188{
19f796ed 189 // Thickness of the profile of the Al box
190 return fgkProfileThickness;
b86e74f5 191}
192
19f796ed 193
b86e74f5 194//_____________________________________________________________________________
195Float_t AliACORDEConstants::Depth() const
196{
197 // Alice IP depth
198 return fgkDepth;
199}