Line data Source code
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 :
20 : class TArrayS;
21 : class AliRawReader;
22 : class AliMUONDDLTrigger;
23 :
24 : class AliMUONVRawStreamTrigger : public AliMUONRawStream
25 : {
26 : public:
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 :
37 : /// Return pointer to DDL payload object.
38 : virtual AliMUONDDLTrigger* GetDDLTrigger() const = 0;
39 :
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 :
47 : /// Should set the maximum number of local cards expected in the DDL stream.
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 :
65 : private:
66 : /// Not implemented
67 : AliMUONVRawStreamTrigger(const AliMUONVRawStreamTrigger& stream);
68 : /// Not implemented
69 : AliMUONVRawStreamTrigger& operator = (const AliMUONVRawStreamTrigger& stream);
70 :
71 18 : ClassDef(AliMUONVRawStreamTrigger, 0) // Base class for MUON trigger rawdata decoders.
72 : };
73 :
74 : #endif // ALIMUONVRAWSTREAMTRIGGER_H
|