1 #ifndef ALIMUONRAWWRITER_H
2 #define ALIMUONRAWWRITER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONRawWriter
10 /// \brief Raw data class for trigger and tracker chambers
12 // Author Christian Finck and Laurent Aphecetche, Subatech
15 #include "AliRawDataHeader.h"
16 #include "AliFstream.h"
18 class AliMUONBlockHeader;
19 class AliMUONBusStruct;
20 class AliMUONDarcHeader;
22 class AliMUONDspHeader;
23 class AliMUONGlobalTrigger;
24 class AliMUONLocalStruct;
25 class AliMUONRegHeader;
26 class AliMUONStopwatchGroup;
27 class AliMUONVDigitStore;
28 class AliMUONVTriggerStore;
32 class AliMUONRawWriter : public TObject
35 AliMUONRawWriter(); // Constructor
36 virtual ~AliMUONRawWriter(); // Destructor
39 Int_t Digits2Raw(AliMUONVDigitStore* digitStore, AliMUONVTriggerStore* triggerStore);
41 void SetScalersNumbers();
45 void Digits2BusPatchMap(const AliMUONVDigitStore& digitStore, AliMpExMap& busPatchMap);
46 void WriteTrackerDDL(AliMpExMap& busPatchMap, Int_t iDDL);
48 //void WriteBusPatch(AliMUONLocalBusStruct* busStruct);
50 Int_t WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore, AliFstream* file[2]);
52 Int_t GetBusPatch(const AliMUONVDigit& digit) const;
55 /// Not implemented copy constructor
56 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
57 /// Not implemented assignment operator
58 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs);
60 static void LocalWordPacking(UInt_t &word, UInt_t locId, UInt_t locDec,
61 UInt_t trigY, UInt_t posY, UInt_t posX,
62 UInt_t sdevX, UInt_t devX);
64 AliMUONBlockHeader* fBlockHeader; //!< DDL block header class pointers
65 AliMUONDspHeader* fDspHeader; //!< DDL Dsp header class pointers
66 AliMUONDarcHeader* fDarcHeader; //!< DDL darc header class pointers
67 AliMUONRegHeader* fRegHeader; //!< DDL regional header class pointers
68 AliMUONLocalStruct* fLocalStruct; //!< DDL local structure class pointers
70 AliMpDDLStore* fDDLStore; //!< DDL store pointer
72 Bool_t fScalerEvent; ///< flag to generates scaler event
74 AliRawDataHeader fHeader; ///< header of DDL
76 AliMUONStopwatchGroup* fTimers; //!< time watchers
78 Int_t fBufferSize; //!< size of internal data buffer
79 Int_t* fBuffer; //!< internal data buffer
81 ClassDef(AliMUONRawWriter,3) // MUON cluster reconstructor in ALICE