]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONVRawStreamTracker.h
Corrected for a double counting for charges >1
[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
18class AliMUONVRawStreamTracker : public AliMUONRawStream
19{
20public:
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
67private:
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