Fixed memory leak
[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 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         ClassDef(AliMUONVRawStreamTrigger, 0)  // Base class for MUON trigger rawdata decoders.
72 };
73
74 #endif // ALIMUONVRAWSTREAMTRIGGER_H