Update in HP decoders:
[u/mrichter/AliRoot.git] / MUON / AliMUONVRawStreamTrigger.h
CommitLineData
1788245f 1#ifndef ALIMUONVRAWSTREAMTRIGGER_H
2#define ALIMUONVRAWSTREAMTRIGGER_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/// \ingroup raw
10/// \class AliMUONVRawStreamTrigger
11/// \brief Base class for reading MUON raw trigger data.
12///
13// MUON trigger decoders must derive from this base class.
14//
15// Author Artur Szostak <artursz@iafrica.com>
16
17#include <TObject.h>
18#include "AliMUONRawStream.h"
19
20class TArrayS;
21class AliRawReader;
22
23class AliMUONVRawStreamTrigger : public AliMUONRawStream
24{
25public:
26 AliMUONVRawStreamTrigger();
27 AliMUONVRawStreamTrigger(AliRawReader* rawReader);
28 virtual ~AliMUONVRawStreamTrigger();
29
30 /// Advance one step in the iteration. Returns false if finished.
31 virtual Bool_t Next(UChar_t& id, UChar_t& dec, Bool_t& trigY,
32 UChar_t& yPos, UChar_t& sXDev, UChar_t& xDev,
33 UChar_t& xPos, Bool_t& triggerY, Bool_t& triggerX,
34 TArrayS& xPattern, TArrayS& yPattern) = 0;
35
36 /// Return maximum number of DDLs
37 virtual Int_t GetMaxDDL() const = 0;
38 /// Return maximum number of regional cards in DATE file
39 virtual Int_t GetMaxReg() const = 0;
40 /// Return maximum number of local cards in DATE file
41 virtual Int_t GetMaxLoc() const = 0;
42
43 virtual void SetMaxLoc(Int_t loc) = 0;
44
45 /// Return number of DDL
46 virtual Int_t GetDDL() const = 0;
47
48 /// Disable Warnings
49 virtual void DisableWarnings() = 0;
50
51 /// error numbers
52 enum rawStreamTriggerError
53 {
54 kDarcEoWErr = 6, ///< end of Darc word error
55 kGlobalEoWErr = 7, ///< end of Global word error
56 kRegEoWErr = 8, ///< end of Regional word error
57 kLocalEoWErr = 9 ///< end of local word error
58 };
59
60private:
61 /// Not implemented
62 AliMUONVRawStreamTrigger(const AliMUONVRawStreamTrigger& stream);
63 /// Not implemented
64 AliMUONVRawStreamTrigger& operator = (const AliMUONVRawStreamTrigger& stream);
65
66 ClassDef(AliMUONVRawStreamTrigger, 0) // Base class for MUON trigger rawdata decoders.
67};
68
69#endif // ALIMUONVRAWSTREAMTRIGGER_H