]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/AliTOFFEEReader.h
1.The QA data created on demand according to the event species at filling time. 2...
[u/mrichter/AliRoot.git] / TOF / AliTOFFEEReader.h
CommitLineData
1605abc6 1#ifndef ALITOFFEEREADER_H
2#define ALITOFFEEREADER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7///////////////////////////////////////////////////////////////
8// //
9// This class provides the TOF FEE reader. //
10// //
11///////////////////////////////////////////////////////////////
12
13/*
14 * author: Roberto Preghenella (R+), Roberto.Preghenella@bo.infn.it
15 */
16
17#include "TObject.h"
39dff6a4 18//#include "AliTOFGeometry.h"
1605abc6 19
20class AliTOFFEEConfig;
046dfc5f 21class AliTOFFEElightConfig;
1605abc6 22
23class AliTOFFEEReader :
24public TObject
25{
26
1605abc6 27 public:
28
29 AliTOFFEEReader(); // default constructor
30 AliTOFFEEReader(const AliTOFFEEReader &source); // copy constructor
31 AliTOFFEEReader &operator=(const AliTOFFEEReader &source); // operator =
32 virtual ~AliTOFFEEReader(); // default destructor
33
34 /* getters */
35 static Int_t GetNumberOfDDLs() {return fgkNumberOfDDLs;}; // get number of DDLs
36 static Int_t GetNumberOfTRMs() {return fgkNumberOfTRMs;}; // get number of TRMs
37 static Int_t GetNumberOfChains() {return fgkNumberOfChains;}; // get number of chains
38 static Int_t GetNumberOfTDCs() {return fgkNumberOfTDCs;}; // get number of TDCs
39 static Int_t GetNumberOfChannels() {return fgkNumberOfChannels;}; // get number of channels
40 static Int_t GetNumberOfIndexes() {return fgkNumberOfIndexes;}; // get number of indexes
41 AliTOFFEEConfig *GetFEEConfig() const {return fFEEConfig;}; // get FEE config
046dfc5f 42 AliTOFFEElightConfig *GetFEElightConfig() const {return fFEElightConfig;}; // get FEElight config
1605abc6 43 Bool_t GetChannelEnabled(Int_t iIndex) const {return iIndex < GetNumberOfIndexes() ? fChannelEnabled[iIndex] : kFALSE;}; // get channel enabled
b059882a 44 Int_t GetMatchingWindow(Int_t iIndex) const {return iIndex < GetNumberOfIndexes() ? fMatchingWindow[iIndex] : 0;}; // get matching window
046dfc5f 45 Int_t GetLatencyWindow(Int_t iIndex) const {return iIndex < GetNumberOfIndexes() ? fLatencyWindow[iIndex] : 0;}; // get latency window
1605abc6 46
47 /* setters */
48
49 /* methods */
046dfc5f 50
51 /* TOFFEE methods */
39dff6a4 52 void LoadFEEConfig(const Char_t *FileName) const; // load FEE config
1605abc6 53 void DumpFEEConfig(); // dump FEE config
54 Int_t ParseFEEConfig(); // parse FEE config
046dfc5f 55
56 /* TOFFEElight methods */
57 void LoadFEElightConfig(const Char_t *FileName) const; // load FEElight config
58 void CreateFEElightConfig(const Char_t *filename); // create FEElight config
59 Int_t ParseFEElightConfig(); // parse FEElight config
60
1605abc6 61 void ResetChannelEnabledArray(); // reset channel enabled array
b059882a 62 void Reset(); // reset channel enabled array
39dff6a4 63 Bool_t IsChannelEnabled(Int_t iIndex) const {return GetChannelEnabled(iIndex);}; // is channel enabled
1605abc6 64
39dff6a4 65 private:
66
046dfc5f 67 /* TOFFEE */
68 Bool_t IsChannelEnabled(Int_t iDDL, Int_t iTRM, Int_t iChain, Int_t iTDC, Int_t iChannel) const; // is channel enabled (from TOFFEE)
69 Int_t GetMatchingWindow(Int_t iDDL, Int_t iTRM, Int_t iChain, Int_t iTDC, Int_t iChannel) const; // get matching window (from TOFFEE)
70
39dff6a4 71 static const Int_t fgkNumberOfDDLs = 72; // number of DDLs
72 static const Int_t fgkNumberOfTRMs = 10; // number of TRMs
73 static const Int_t fgkNumberOfChains = 2; // number of chains
74 static const Int_t fgkNumberOfTDCs = 15; // number of TDCs
75 static const Int_t fgkNumberOfChannels = 8; // number of channels
76 static const Int_t fgkNumberOfIndexes = 157248; // number of indexes
77
78 AliTOFFEEConfig *fFEEConfig; // FEE config
046dfc5f 79 AliTOFFEElightConfig *fFEElightConfig; // FEElight config
39dff6a4 80 Bool_t fChannelEnabled[fgkNumberOfIndexes]; // channel enabled
b059882a 81 Int_t fMatchingWindow[fgkNumberOfIndexes]; // matching window
046dfc5f 82 Int_t fLatencyWindow[fgkNumberOfIndexes]; // matching window
39dff6a4 83
1605abc6 84 ClassDef(AliTOFFEEReader, 1);
85
86};
87
88#endif /* ALITOFFEEREADER_H */