Previous commit had the bad side-effect of changing the behaviour of Raw QA to comput...
[u/mrichter/AliRoot.git] / MUON / AliMUONVRawStreamTracker.h
CommitLineData
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 18class AliMUONDDLTracker;
19
e3a2b9c9 20class AliMUONVRawStreamTracker : public AliMUONRawStream
21{
22public:
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
72private:
73
74 // Do not allow copying of this class.
75 /// Not implemented
76 AliMUONVRawStreamTracker(const AliMUONVRawStreamTracker& stream);
77 /// Not implemented
78 AliMUONVRawStreamTracker& operator = (const AliMUONVRawStreamTracker& stream);
79
80 static const Int_t fgkMaxDDL; //!< maximum number of DDLs
81
82 ClassDef(AliMUONVRawStreamTracker, 0) // Base class for reading MUON raw digits from tracking chambers.
83};
84
85#endif // ALIMUONVRAWSTREAMTRACKER_H