]>
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 | ||
481d8064 | 18 | class AliMUONDDLTracker; |
19 | ||
e3a2b9c9 | 20 | class AliMUONVRawStreamTracker : public AliMUONRawStream |
21 | { | |
22 | public: | |
23 | ||
24 | /// Default constructor. | |
25 | AliMUONVRawStreamTracker(); | |
26 | ||
27 | /// Constructor setting the raw reader. | |
28 | AliMUONVRawStreamTracker(AliRawReader* rawReader); | |
29 | ||
30 | /// Default destructor. | |
31 | virtual ~AliMUONVRawStreamTracker(); | |
32 | ||
33 | /// Advance one step in the iteration. Returns false if finished. | |
34 | virtual Bool_t Next(Int_t& busPatchId, | |
35 | UShort_t& manuId, UChar_t& manuChannel, | |
36 | UShort_t& adc) = 0; | |
37 | ||
481d8064 | 38 | /// Return pointer to DDL payload object. |
39 | virtual AliMUONDDLTracker* GetDDLTracker() const = 0; | |
40 | ||
e3a2b9c9 | 41 | /// Return maximum number of DDLs |
42 | static Int_t GetMaxDDL() { return fgkMaxDDL; }; | |
43 | ||
44 | /// Return maximum number of blocks per DDL allowed. | |
45 | virtual Int_t GetMaxBlock() const = 0; | |
46 | /// Return maximum number of Dsp per block allowed. | |
47 | virtual Int_t GetMaxDsp() const = 0; | |
48 | /// Return maximum number of Buspatch per Dsp allowed. | |
49 | virtual Int_t GetMaxBus() const = 0; | |
50 | ||
51 | /// Set maximum number of blocks per DDL allowed. | |
52 | virtual void SetMaxBlock(Int_t blk) = 0; | |
53 | /// Set maximum number of Dsp per block allowed. | |
54 | virtual void SetMaxDsp(Int_t dsp) = 0; | |
55 | /// Set maximum number of Buspatch per Dsp allowed. | |
56 | virtual void SetMaxBus(Int_t bus) = 0; | |
57 | ||
58 | /// Return number of the current DDL. | |
59 | virtual Int_t GetDDL() const = 0; | |
60 | ||
61 | /// check error/Warning presence | |
62 | virtual Bool_t IsErrorMessage() const = 0; | |
63 | ||
64 | /// error numbers | |
65 | enum rawStreamTrackerError | |
66 | { | |
67 | kGlitchErr = 1, ///< glitch error | |
68 | kPaddingWordErr = 2, ///< padding word error | |
69 | kParityErr = 3 ///< parity error | |
70 | }; | |
71 | ||
9ee1d6ff | 72 | protected: |
73 | ||
74 | static const Int_t fgkMaxDDL; //!< maximum number of DDLs | |
75 | ||
e3a2b9c9 | 76 | private: |
77 | ||
78 | // Do not allow copying of this class. | |
79 | /// Not implemented | |
80 | AliMUONVRawStreamTracker(const AliMUONVRawStreamTracker& stream); | |
81 | /// Not implemented | |
82 | AliMUONVRawStreamTracker& operator = (const AliMUONVRawStreamTracker& stream); | |
83 | ||
e3a2b9c9 | 84 | ClassDef(AliMUONVRawStreamTracker, 0) // Base class for reading MUON raw digits from tracking chambers. |
85 | }; | |
86 | ||
87 | #endif // ALIMUONVRAWSTREAMTRACKER_H |