]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliCaloConstants.h
Revert "remove argument from method, pass the parameter via data member switchable"
[u/mrichter/AliRoot.git] / EMCAL / AliCaloConstants.h
CommitLineData
168c7b3c 1// -*- mode: c++ -*-
2#ifndef ALICALOCONSTANTS_H
3#define ALICALOCONSTANTS_H
4
5/**************************************************************************
6 * This file is property of and copyright by *
15cdd9b3 7 * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2010 *
168c7b3c 8 * *
9 * Primary Author: Per Thomas Hille <perthomas.hille@yale.edu> *
10 * *
11 * Contributors are mentioned in the code where appropriate. *
12 * Please report bugs to perthomas.hille@yale.edu *
13 * *
14 * Permission to use, copy, modify and distribute this software and its *
15 * documentation strictly for non-commercial purposes is hereby granted *
16 * without fee, provided that the above copyright notice appears in all *
17 * copies and that both the copyright notice and this permission notice *
18 * appear in the supporting documentation. The authors make no claims *
19 * about the suitability of this software for any purpose. It is *
20 * provided "as is" without express or implied warranty. *
21 **************************************************************************/
22
92d9f317 23
15cdd9b3 24//
25// Constants used by the HLT
752b4856 26// ALICE Offline
15cdd9b3 27// and by EMCAL standalone debug tools
28//
29//
168c7b3c 30namespace CaloConstants
31{
752b4856 32 const int MAXHOSTS = 20; // related to the emcal debug online display
33 const int TIMEBINS = 256; // number of sampling bins of the raw RO signal (we typically use 15-50; max is 1k+)
34 const double TIMEBINWITH = 100E-9 ; // each sample is 100 ns
35 const double TIMEBINMAX = TIMEBINS*TIMEBINWITH;
92d9f317 36 // const double TAU = 2.35;
37 // const int ORDER = 2;
38
752b4856 39 const int OVERFLOWCUT = 950;
40 const double HGLGFACTOR = 16;
15cdd9b3 41
92d9f317 42 // const double ECENTRALHIT = 0.85; //Percentage of total enegry contain in a single tower for a central hit
43
15cdd9b3 44 namespace ALTROConstants
45 {
752b4856 46 const int ALTROMAXSAMPLES = 1008; // The maximum number of samples of the ALTRO
47 const int ALTROMAXPRESAMPLES = 15; // Maximum number of presamles from the ALTRO chip
48 const int NALTROS = 4; // Number of ALTROs per frontend card
49 const int NALTROCHANNELS = 16; // Number of readout channels per ALTRO chip
50 const int MINHARDWAREADDRESS = -2; // Smallest possible HW address ( in offline )
51// const int MAXHARDWAREADDRESS = 4096; // Max harware address, ( its to high )
15cdd9b3 52 const int MAXBINVALUE = 1023; // Max possible ALTRO ADC value ( 10 bit )
752b4856 53 const int NGAINS = 2; // Number of gains ( high + low )
54 const int HIGHGAIN = 1; // Mnemonic for High Gain
55 const int LOWGAIN = 0; // Mnemonic for Low Gain
15cdd9b3 56 const int HG = HIGHGAIN; // Abbrevation for HIGHGAIN
57 const int LG = LOWGAIN; // Abbrevation for LOWGAIN
92d9f317 58 }
15cdd9b3 59
60 //FEE constants common to PHOS EMCAL
61 const int CSPSPERFEE = 32; // Charge Sensitive Preamplifiers (CSPs) per FEE
752b4856 62 const int NBRANCHES = 2; // Branches per RCU
63//const int MAXHWADDRESSES = 4096; // Highest possible harware address
15cdd9b3 64
65 namespace EMCALConstants
66 {
752b4856 67 const double ECENTRALHIT = 0.845678; //Percentage of total enegry contain in a single tower for a central hit
68
69 const int MAXHWADDR = 3279;
70 const int MAXCHANNELS = 1408;
71 const int NZROWSMOD = 48; // Number of columns per module
72 const int NXCOLUMNSMOD = 24; // Number of rows per module
73 const int NROWSMOD = NZROWSMOD; // Number of rows per module
74 const int NCOLUMNSMOD = NXCOLUMNSMOD; // Number of columns per module
92d9f317 75
752b4856 76 const int NRCUSPERSECTOR = 4; // Number of RCUs per sector
77 const int NMODULES = 10; // Number of modules of the EMCAL detector
78 const int NRCUSPERMODULE = 2; // Number of RCUs per Module
79 const int NFEECS = 9; // Number of Frontend cards per branch*/
80 const int NZROWSRCU = 48; // Number of Rows per RCU
81 const int NXCOLUMNSRCU = 16; // Number of columns per RCU
82 const int ORDER = 2; // Order of shaping stages of the signal conditioning unit
83 const double TAU = 2.35; // approximate shaping time
15cdd9b3 84 }
92d9f317 85
15cdd9b3 86 namespace PHOSConstants
87 {
752b4856 88 const int MAXHWADDR = 4096;
89// const int MAXHARDWAREADDRESS = 4096; // Max harware address, ( its to high )
15cdd9b3 90 const int NZROWSMOD = 56; // Number of rows per module
91 const int NXCOLUMNSMOD = 64; // Number of columns per module
752b4856 92 const int NMODULES = 5; // Number of modules of the PHOS detector
93 const int NRCUSPERMODULE = 4; // Number of RCUs per Module
15cdd9b3 94 const int NFEECS = 14; // Number of Frontend cards per branch
95 }
9f966f11 96
168c7b3c 97 namespace FitAlgorithm
98 {
752b4856 99 enum fitAlgorithm { kStandard = 0, kCrude = 1, kPeakFinder = 2, kNeuralNet = 3, kFastFit= 4, kFakeAltro = 9, kNONE = 8 } ; // possible return values
b14e4925 100 }
9f966f11 101
168c7b3c 102 namespace ReturnCodes
103 {
752b4856 104 enum kReturnCode { kFitPar=1, kDummy=-1, kCrude=-9, kNoFit=-99, kInvalid=-9999 } ; // possible return values
b14e4925 105 }
168c7b3c 106
107 namespace PeakFinderConstants
108 {
752b4856 109 const int MAXSTART = 3; // Start max 3 samples into the digitized array
15cdd9b3 110 const int SAMPLERANGE = 15; // Use maximum 15 samples for the Peak-Finder
b14e4925 111 }
112}
168c7b3c 113
168c7b3c 114//For easier notation
15cdd9b3 115namespace ALTRO = CaloConstants::ALTROConstants; // For easier notation
116namespace Algo = CaloConstants::FitAlgorithm; // For easier notation
117namespace Ret = CaloConstants::ReturnCodes; // For easier notation
118namespace PF = CaloConstants::PeakFinderConstants; // For easier notation
119namespace CALO = CaloConstants; // For easier notation
120namespace EMCAL = CaloConstants::EMCALConstants; // For easier notation
121namespace PHOS = CaloConstants::PHOSConstants; // For easier notation
122
168c7b3c 123
124#endif
15cdd9b3 125