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"
19 class AliMUONDspHeader;
20 class AliMUONBlockHeader;
21 class AliMUONDarcHeader;
22 class AliMUONRegHeader;
23 class AliMUONLocalStruct;
25 class AliMUONBusStruct;
26 class AliMUONGlobalTrigger;
28 class AliMUONTriggerCrateStore;
31 class AliMUONRawWriter : public TObject
34 AliMUONRawWriter(AliMUONData* data); // Constructor
35 virtual ~AliMUONRawWriter(); // Destructor
40 void SetScalersNumbers();
43 AliMUONRawWriter(); // Default constructor
46 Int_t WriteTrackerDDL(Int_t iCh);
47 Int_t WriteTriggerDDL();
51 void AddData(const AliMUONBusStruct& event);
53 Int_t GetBusPatch(const AliMUONDigit& digit) const;
54 Int_t GetBusPatch(Int_t detElemId, Int_t manuId) const;
56 Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const;
60 AliMUONData* fMUONData; //!< Data container for MUON subsystem
62 FILE* fFile[4]; //!< DDL binary file pointer one per 1/2 chamber, 4 for one station
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 AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL
71 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
73 Bool_t fScalerEvent; ///< flag to generates scaler event
75 AliRawDataHeader fHeader; ///< header of DDL
77 static Int_t fgManuPerBusSwp1B[12]; //!< array containing the first manuId for each buspatch st1, Bending
78 static Int_t fgManuPerBusSwp1NB[12]; //!< array containing the first manuId for each buspatch st1, NBending
80 static Int_t fgManuPerBusSwp2B[12]; //!< array containing the first manuId for each buspatch st2, Bending
81 static Int_t fgManuPerBusSwp2NB[12]; //!< array containing the first manuId for each buspatch st2, NBending
83 TStopwatch* fTimers; //!< time watchers
85 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
86 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs); // assignment operator
88 ClassDef(AliMUONRawWriter,2) // MUON cluster reconstructor in ALICE