]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONVRawStreamTrigger.h
Add MCNSD flag to trigger mask
[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;
481d8064 22class AliMUONDDLTrigger;
1788245f 23
24class AliMUONVRawStreamTrigger : public AliMUONRawStream
25{
26public:
27 AliMUONVRawStreamTrigger();
28 AliMUONVRawStreamTrigger(AliRawReader* rawReader);
29 virtual ~AliMUONVRawStreamTrigger();
30
31 /// Advance one step in the iteration. Returns false if finished.
32 virtual Bool_t Next(UChar_t& id, UChar_t& dec, Bool_t& trigY,
33 UChar_t& yPos, UChar_t& sXDev, UChar_t& xDev,
34 UChar_t& xPos, Bool_t& triggerY, Bool_t& triggerX,
35 TArrayS& xPattern, TArrayS& yPattern) = 0;
36
481d8064 37 /// Return pointer to DDL payload object.
38 virtual AliMUONDDLTrigger* GetDDLTrigger() const = 0;
39
1788245f 40 /// Return maximum number of DDLs
41 virtual Int_t GetMaxDDL() const = 0;
42 /// Return maximum number of regional cards in DATE file
43 virtual Int_t GetMaxReg() const = 0;
44 /// Return maximum number of local cards in DATE file
45 virtual Int_t GetMaxLoc() const = 0;
46
481d8064 47 /// Should set the maximum number of local cards expected in the DDL stream.
1788245f 48 virtual void SetMaxLoc(Int_t loc) = 0;
49
50 /// Return number of DDL
51 virtual Int_t GetDDL() const = 0;
52
53 /// Disable Warnings
54 virtual void DisableWarnings() = 0;
55
56 /// error numbers
57 enum rawStreamTriggerError
58 {
59 kDarcEoWErr = 6, ///< end of Darc word error
60 kGlobalEoWErr = 7, ///< end of Global word error
61 kRegEoWErr = 8, ///< end of Regional word error
62 kLocalEoWErr = 9 ///< end of local word error
63 };
64
65private:
66 /// Not implemented
67 AliMUONVRawStreamTrigger(const AliMUONVRawStreamTrigger& stream);
68 /// Not implemented
69 AliMUONVRawStreamTrigger& operator = (const AliMUONVRawStreamTrigger& stream);
70
71 ClassDef(AliMUONVRawStreamTrigger, 0) // Base class for MUON trigger rawdata decoders.
72};
73
74#endif // ALIMUONVRAWSTREAMTRIGGER_H