#ifndef ALIMUONRAWSTREAMTRIGGER_H
#define ALIMUONRAWSTREAMTRIGGER_H
#include <TObject.h>
#include "AliMUONPayloadTrigger.h"
#include "AliMUONVRawStreamTrigger.h"
class TArrayS;
class AliRawReader;
class AliMUONDDLTrigger;
class AliMUONDarcHeader;
class AliMUONRegkHeader;
class AliMUONLocalStruct;
class AliMUONRawStreamTrigger: public AliMUONVRawStreamTrigger {
public :
AliMUONRawStreamTrigger();
AliMUONRawStreamTrigger(TRootIOCtor* dummy);
AliMUONRawStreamTrigger(AliRawReader* rawReader);
virtual ~AliMUONRawStreamTrigger();
void First();
AliMUONDDLTrigger* CurrentDDL() const { return fCurrentDDL; }
AliMUONDarcHeader* CurrentDarcHeader() const { return fCurrentDarcHeader; }
AliMUONRegHeader* CurrentRegHeader() const { return fCurrentRegHeader; }
AliMUONLocalStruct* CurrentLocalStruct() const { return fCurrentLocalStruct; }
virtual Bool_t Next(UChar_t& id, UChar_t& dec, Bool_t& trigY,
UChar_t& yPos, UChar_t& sXDev, UChar_t& xDev,
UChar_t& xPos, Bool_t& triggerY, Bool_t& triggerX,
TArrayS& xPattern, TArrayS& yPattern);
virtual Bool_t NextDDL();
Int_t GetMaxDDL() const {return fgkMaxDDL;}
Int_t GetMaxReg() const {return fPayload->GetMaxReg();}
Int_t GetMaxLoc() const {return fPayload->GetMaxLoc();}
void SetMaxLoc(Int_t loc);
AliMUONDDLTrigger* GetDDLTrigger() const {return fPayload->GetDDLTrigger();}
Int_t GetDDL() const {return fDDL - 1;}
AliMUONPayloadTrigger* GetPayLoad() const {return fPayload;}
Bool_t IsDone() const;
void AddErrorMessage();
void DisableWarnings() {fPayload->DisableWarnings();}
enum rawStreamTriggerError {
kDarcEoWErr = 6,
kGlobalEoWErr = 7,
kRegEoWErr = 8,
kLocalEoWErr = 9
};
private :
AliMUONRawStreamTrigger(const AliMUONRawStreamTrigger& stream);
AliMUONRawStreamTrigger& operator = (const AliMUONRawStreamTrigger& stream);
Bool_t GetNextDDL();
Bool_t GetNextRegHeader();
Bool_t GetNextLocalStruct();
private:
AliMUONPayloadTrigger* fPayload;
AliMUONDDLTrigger* fCurrentDDL;
Int_t fCurrentDDLIndex;
AliMUONDarcHeader* fCurrentDarcHeader;
AliMUONRegHeader* fCurrentRegHeader;
Int_t fCurrentRegHeaderIndex;
AliMUONLocalStruct* fCurrentLocalStruct;
Int_t fCurrentLocalStructIndex;
Bool_t fLocalStructRead;
Int_t fDDL;
Bool_t fNextDDL;
static const Int_t fgkMaxDDL;
ClassDef(AliMUONRawStreamTrigger, 4)
};
#endif
AliMUONRawStreamTrigger.h:1 AliMUONRawStreamTrigger.h:2 AliMUONRawStreamTrigger.h:3 AliMUONRawStreamTrigger.h:4 AliMUONRawStreamTrigger.h:5 AliMUONRawStreamTrigger.h:6 AliMUONRawStreamTrigger.h:7 AliMUONRawStreamTrigger.h:8 AliMUONRawStreamTrigger.h:9 AliMUONRawStreamTrigger.h:10 AliMUONRawStreamTrigger.h:11 AliMUONRawStreamTrigger.h:12 AliMUONRawStreamTrigger.h:13 AliMUONRawStreamTrigger.h:14 AliMUONRawStreamTrigger.h:15 AliMUONRawStreamTrigger.h:16 AliMUONRawStreamTrigger.h:17 AliMUONRawStreamTrigger.h:18 AliMUONRawStreamTrigger.h:19 AliMUONRawStreamTrigger.h:20 AliMUONRawStreamTrigger.h:21 AliMUONRawStreamTrigger.h:22 AliMUONRawStreamTrigger.h:23 AliMUONRawStreamTrigger.h:24 AliMUONRawStreamTrigger.h:25 AliMUONRawStreamTrigger.h:26 AliMUONRawStreamTrigger.h:27 AliMUONRawStreamTrigger.h:28 AliMUONRawStreamTrigger.h:29 AliMUONRawStreamTrigger.h:30 AliMUONRawStreamTrigger.h:31 AliMUONRawStreamTrigger.h:32 AliMUONRawStreamTrigger.h:33 AliMUONRawStreamTrigger.h:34 AliMUONRawStreamTrigger.h:35 AliMUONRawStreamTrigger.h:36 AliMUONRawStreamTrigger.h:37 AliMUONRawStreamTrigger.h:38 AliMUONRawStreamTrigger.h:39 AliMUONRawStreamTrigger.h:40 AliMUONRawStreamTrigger.h:41 AliMUONRawStreamTrigger.h:42 AliMUONRawStreamTrigger.h:43 AliMUONRawStreamTrigger.h:44 AliMUONRawStreamTrigger.h:45 AliMUONRawStreamTrigger.h:46 AliMUONRawStreamTrigger.h:47 AliMUONRawStreamTrigger.h:48 AliMUONRawStreamTrigger.h:49 AliMUONRawStreamTrigger.h:50 AliMUONRawStreamTrigger.h:51 AliMUONRawStreamTrigger.h:52 AliMUONRawStreamTrigger.h:53 AliMUONRawStreamTrigger.h:54 AliMUONRawStreamTrigger.h:55 AliMUONRawStreamTrigger.h:56 AliMUONRawStreamTrigger.h:57 AliMUONRawStreamTrigger.h:58 AliMUONRawStreamTrigger.h:59 AliMUONRawStreamTrigger.h:60 AliMUONRawStreamTrigger.h:61 AliMUONRawStreamTrigger.h:62 AliMUONRawStreamTrigger.h:63 AliMUONRawStreamTrigger.h:64 AliMUONRawStreamTrigger.h:65 AliMUONRawStreamTrigger.h:66 AliMUONRawStreamTrigger.h:67 AliMUONRawStreamTrigger.h:68 AliMUONRawStreamTrigger.h:69 AliMUONRawStreamTrigger.h:70 AliMUONRawStreamTrigger.h:71 AliMUONRawStreamTrigger.h:72 AliMUONRawStreamTrigger.h:73 AliMUONRawStreamTrigger.h:74 AliMUONRawStreamTrigger.h:75 AliMUONRawStreamTrigger.h:76 AliMUONRawStreamTrigger.h:77 AliMUONRawStreamTrigger.h:78 AliMUONRawStreamTrigger.h:79 AliMUONRawStreamTrigger.h:80 AliMUONRawStreamTrigger.h:81 AliMUONRawStreamTrigger.h:82 AliMUONRawStreamTrigger.h:83 AliMUONRawStreamTrigger.h:84 AliMUONRawStreamTrigger.h:85 AliMUONRawStreamTrigger.h:86 AliMUONRawStreamTrigger.h:87 AliMUONRawStreamTrigger.h:88 AliMUONRawStreamTrigger.h:89 AliMUONRawStreamTrigger.h:90 AliMUONRawStreamTrigger.h:91 AliMUONRawStreamTrigger.h:92 AliMUONRawStreamTrigger.h:93 AliMUONRawStreamTrigger.h:94 AliMUONRawStreamTrigger.h:95 AliMUONRawStreamTrigger.h:96 AliMUONRawStreamTrigger.h:97 AliMUONRawStreamTrigger.h:98 AliMUONRawStreamTrigger.h:99 AliMUONRawStreamTrigger.h:100 AliMUONRawStreamTrigger.h:101 AliMUONRawStreamTrigger.h:102 AliMUONRawStreamTrigger.h:103 AliMUONRawStreamTrigger.h:104 AliMUONRawStreamTrigger.h:105 AliMUONRawStreamTrigger.h:106 AliMUONRawStreamTrigger.h:107 AliMUONRawStreamTrigger.h:108 AliMUONRawStreamTrigger.h:109 AliMUONRawStreamTrigger.h:110 AliMUONRawStreamTrigger.h:111 AliMUONRawStreamTrigger.h:112 AliMUONRawStreamTrigger.h:113 AliMUONRawStreamTrigger.h:114 AliMUONRawStreamTrigger.h:115 AliMUONRawStreamTrigger.h:116 AliMUONRawStreamTrigger.h:117 AliMUONRawStreamTrigger.h:118 AliMUONRawStreamTrigger.h:119 AliMUONRawStreamTrigger.h:120 AliMUONRawStreamTrigger.h:121 AliMUONRawStreamTrigger.h:122 AliMUONRawStreamTrigger.h:123 AliMUONRawStreamTrigger.h:124