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 /// Writring Raw data class for trigger and tracker chambers
15 #include <TClonesArray.h>
16 #include "AliMUONSubEventTracker.h"
17 #include "TStopwatch.h"
19 class AliMUONDDLTracker;
20 class AliMUONDDLTrigger;
23 class AliMUONGlobalTrigger;
24 class AliMUONSubEventTrigger;
26 class AliMpSegFactory;
28 class AliMUONRawWriter : public TObject
31 AliMUONRawWriter(AliMUONData* data); // Constructor
32 virtual ~AliMUONRawWriter(void); // Destructor
37 void SetScalerEvent() {fScalerEvent = kTRUE;}
41 void AddData(const AliMUONSubEventTracker& event)
43 TClonesArray &temp = *fSubEventArray;
44 new(temp[temp.GetEntriesFast()]) AliMUONSubEventTracker(event);
47 Int_t GetBusPatch(const AliMUONDigit& digit);
49 Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const;
52 AliMUONRawWriter(); // Default constructor
53 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
54 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs); // assignment operator
57 Int_t WriteTrackerDDL(Int_t iCh);
58 Int_t WriteTriggerDDL();
62 AliMUONData* fMUONData; //! Data container for MUON subsystem
64 FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber
66 TClonesArray* fSubEventArray; //! array to sub event tracker
68 AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers
69 AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers
71 AliMpBusPatch* fBusPatchManager; //! buspatch versus DE's & DDL
73 Bool_t fScalerEvent; // flag to generates scaler event
75 static Int_t fgManuPerBusSwp1B[12]; //! array containing the first manuId for each buspatch st1, Bending
76 static Int_t fgManuPerBusSwp1NB[12]; //! array containing the first manuId for each buspatch st1, NBending
78 static Int_t fgManuPerBusSwp2B[12]; //! array containing the first manuId for each buspatch st2, Bending
79 static Int_t fgManuPerBusSwp2NB[12]; //! array containing the first manuId for each buspatch st2, NBending
81 TStopwatch fTrackerTimer; //!
82 TStopwatch fTriggerTimer; //!
83 TStopwatch fMappingTimer; //!
85 AliMpSegFactory* fSegFactory; //!
87 ClassDef(AliMUONRawWriter,0) // MUON cluster reconstructor in ALICE