]>
Commit | Line | Data |
---|---|---|
e3a2b9c9 | 1 | #ifndef ALIMUONVRAWSTREAMTRACKER_H |
2 | #define ALIMUONVRAWSTREAMTRACKER_H | |
3 | /* This file is property of and copyright by the ALICE HLT Project * | |
4 | * ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$*/ | |
8 | ||
9 | /// | |
10 | /// \file AliMUONVRawStreamTracker.h | |
11 | /// \author Artur Szostak <artursz@iafrica.com> | |
12 | /// \date 28-11-2007 | |
13 | /// \brief Declaration of the abstract base class for muon trigger chamber raw stream decoders. | |
14 | /// | |
15 | ||
16 | #include "AliMUONRawStream.h" | |
17 | ||
18 | class AliMUONVRawStreamTracker : public AliMUONRawStream | |
19 | { | |
20 | public: | |
21 | ||
22 | /// Default constructor. | |
23 | AliMUONVRawStreamTracker(); | |
24 | ||
25 | /// Constructor setting the raw reader. | |
26 | AliMUONVRawStreamTracker(AliRawReader* rawReader); | |
27 | ||
28 | /// Default destructor. | |
29 | virtual ~AliMUONVRawStreamTracker(); | |
30 | ||
31 | /// Advance one step in the iteration. Returns false if finished. | |
32 | virtual Bool_t Next(Int_t& busPatchId, | |
33 | UShort_t& manuId, UChar_t& manuChannel, | |
34 | UShort_t& adc) = 0; | |
35 | ||
e3a2b9c9 | 36 | /// Return maximum number of DDLs |
37 | static Int_t GetMaxDDL() { return fgkMaxDDL; }; | |
38 | ||
39 | /// Return maximum number of blocks per DDL allowed. | |
40 | virtual Int_t GetMaxBlock() const = 0; | |
41 | /// Return maximum number of Dsp per block allowed. | |
42 | virtual Int_t GetMaxDsp() const = 0; | |
43 | /// Return maximum number of Buspatch per Dsp allowed. | |
44 | virtual Int_t GetMaxBus() const = 0; | |
45 | ||
46 | /// Set maximum number of blocks per DDL allowed. | |
47 | virtual void SetMaxBlock(Int_t blk) = 0; | |
48 | /// Set maximum number of Dsp per block allowed. | |
49 | virtual void SetMaxDsp(Int_t dsp) = 0; | |
50 | /// Set maximum number of Buspatch per Dsp allowed. | |
51 | virtual void SetMaxBus(Int_t bus) = 0; | |
52 | ||
53 | /// Return number of the current DDL. | |
54 | virtual Int_t GetDDL() const = 0; | |
55 | ||
56 | /// check error/Warning presence | |
57 | virtual Bool_t IsErrorMessage() const = 0; | |
58 | ||
59 | /// error numbers | |
60 | enum rawStreamTrackerError | |
61 | { | |
62 | kGlitchErr = 1, ///< glitch error | |
63 | kPaddingWordErr = 2, ///< padding word error | |
64 | kParityErr = 3 ///< parity error | |
65 | }; | |
66 | ||
67 | private: | |
68 | ||
69 | // Do not allow copying of this class. | |
70 | /// Not implemented | |
71 | AliMUONVRawStreamTracker(const AliMUONVRawStreamTracker& stream); | |
72 | /// Not implemented | |
73 | AliMUONVRawStreamTracker& operator = (const AliMUONVRawStreamTracker& stream); | |
74 | ||
75 | static const Int_t fgkMaxDDL; //!< maximum number of DDLs | |
76 | ||
77 | ClassDef(AliMUONVRawStreamTracker, 0) // Base class for reading MUON raw digits from tracking chambers. | |
78 | }; | |
79 | ||
80 | #endif // ALIMUONVRAWSTREAMTRACKER_H |