Crucial bug-fix. The raw-data events should be never skipped inside the QA data makers
[u/mrichter/AliRoot.git] / ACORDE / AliACORDEConstants.h
CommitLineData
b86e74f5 1#ifndef ALIACORDECONSTANTS_H
2#define ALIACORDECONSTANTS_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////////////////////////////////////////////////////////////////////////
9//
10// AliACORDEConstants class
11//
12// This class serves to group constants needed by ACORDE detector in 1
13// easily accessible place. All constants are public const static data
14// members. The class is never instatiated.
15//
16// Author: Arturo Fernandez, Enrique Gamez
17// FCFM-UAP, Mexico.
18//
19/////////////////////////////////////////////////////////////////////////
20
21#include <TObject.h>
22
23enum ECRMode {
24 kSingleMuons,
25 kMuonBundle,
26 kMuonFlux
27};
28
29class AliACORDEConstants : public TObject {
30public:
31 virtual ~AliACORDEConstants();
32
33 static AliACORDEConstants* Instance();
34
19f796ed 35 // constant for geometry
36 Float_t ModuleLength() const;
37 Float_t ModuleWidth() const;
38 Float_t ModuleHeight() const;
39 Float_t ModulePositionX(Int_t i) const;
40 Float_t ModulePositionY(Int_t i) const;
41 Float_t ModulePositionZ(Int_t i) const;
42 Float_t ExtraModulePositionZ(Int_t i) const;
c16b72bc 43 Int_t ModuleElectronicChannel(Int_t i) const;
19f796ed 44 Float_t ExtraModulePositionX() const;
45 Float_t ExtraModulePositionY() const;
46 Float_t PlasticLength() const;
47 Float_t PlasticWidth() const;
48 Float_t PlasticHeight() const;
49 Float_t ProfileWidth() const;
50 Float_t ProfileThickness() const;
b86e74f5 51 Float_t Depth() const;
52
19f796ed 53 // constant to convert hits in digits
54 Float_t HitEnergyThreshold() const { return fgkHitEnergyThreshold;}
55 Float_t MaxHitTimeDifference() const { return fgkMaxHitTimeDifference;}
56 // constants for trigger
57 Int_t MultiMuonThreshold() const { return fgkMultiMuonThreshold;}
58 Float_t MultiMuonWindow() const { return fgkMultiMuonWindow;}
59
b86e74f5 60protected:
19f796ed 61
b86e74f5 62 AliACORDEConstants();
b86e74f5 63
64 static AliACORDEConstants* fgInstance; // static instanton
65
19f796ed 66 static const Float_t fgkModuleLength; // Module lenght
67 static const Float_t fgkModuleWidth; // Module width
68 static const Float_t fgkModuleHeight; // Module height
69 static const Float_t fgkModulePositionX[60]; // position in ALICE
70 static const Float_t fgkModulePositionY[60]; // of center of module
71 static const Float_t fgkModulePositionZ[60];
72 static const Float_t fgkExtraModulePositionZ[4];
73 static const Float_t fgkExtraModulePositionX;
74 static const Float_t fgkExtraModulePositionY;
c16b72bc 75 static const Int_t fgkModuleElectronicChannel[60];
b86e74f5 76
19f796ed 77 static const Float_t fgkPlasticLength; // Plastic length
78 static const Float_t fgkPlasticWidth; // Plastic width
79 static const Float_t fgkPlasticHeight; // Plastic height
b86e74f5 80
b86e74f5 81
19f796ed 82 static const Float_t fgkProfileWidth; // profile of the module
83 static const Float_t fgkProfileThickness;
b86e74f5 84 static const Float_t fgkDepth; // Alice IP depth from surface
85
19f796ed 86 static const Float_t fgkHitEnergyThreshold;
87 static const Float_t fgkMaxHitTimeDifference;
88 static const Int_t fgkMultiMuonThreshold;
89 static const Float_t fgkMultiMuonWindow;
b86e74f5 90 private:
91 ClassDef(AliACORDEConstants, 0) // ACORDE(ACORDE) global constants
92};
2814d35e 93
94typedef AliACORDEConstants AliCRTConstants; // for backward compatibility
95
b86e74f5 96#endif // ALIACORDECONSTANTS_H