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 */
10 /// \class AliMUONVRawStreamTrigger
11 /// \brief Base class for reading MUON raw trigger data.
13 // MUON trigger decoders must derive from this base class.
15 // Author Artur Szostak <artursz@iafrica.com>
18 #include "AliMUONRawStream.h"
23 class AliMUONVRawStreamTrigger : public AliMUONRawStream
26 AliMUONVRawStreamTrigger();
27 AliMUONVRawStreamTrigger(AliRawReader* rawReader);
28 virtual ~AliMUONVRawStreamTrigger();
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;
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;
43 virtual void SetMaxLoc(Int_t loc) = 0;
45 /// Return number of DDL
46 virtual Int_t GetDDL() const = 0;
49 virtual void DisableWarnings() = 0;
52 enum rawStreamTriggerError
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
62 AliMUONVRawStreamTrigger(const AliMUONVRawStreamTrigger& stream);
64 AliMUONVRawStreamTrigger& operator = (const AliMUONVRawStreamTrigger& stream);
66 ClassDef(AliMUONVRawStreamTrigger, 0) // Base class for MUON trigger rawdata decoders.
69 #endif // ALIMUONVRAWSTREAMTRIGGER_H