]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONVRawStreamTrigger.h
31c0976bc181a6ededcfd7c618ff507aaf8b22fe
[u/mrichter/AliRoot.git] / MUON / AliMUONVRawStreamTrigger.h
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
23 class AliMUONVRawStreamTrigger : public AliMUONRawStream
24 {
25 public:
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
60 private:
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