a19e2543 |
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 */ |
5 | |
6 | /*$Id$*/ |
7 | |
344ef20f |
8 | /// \ingroup sim |
a19e2543 |
9 | /// \class AliMUONRawWriter |
10 | /// \brief Raw data class for trigger and tracker chambers |
11 | /// |
78649106 |
12 | // Author Christian Finck and Laurent Aphecetche, Subatech |
a19e2543 |
13 | |
14 | #include <TObject.h> |
2cf44ef3 |
15 | #include "AliRawDataHeader.h" |
a19e2543 |
16 | |
2cbb173f |
17 | class AliMUONData; |
18 | class AliMUONDigit; |
2cf44ef3 |
19 | class AliMUONDspHeader; |
20 | class AliMUONBlockHeader; |
21 | class AliMUONDarcHeader; |
22 | class AliMUONRegHeader; |
23 | class AliMUONLocalStruct; |
344ef20f |
24 | class AliMpExMap; |
25 | class AliMUONBusStruct; |
a19e2543 |
26 | class AliMUONGlobalTrigger; |
e5ced899 |
27 | class AliMpDDLStore; |
a844d67f |
28 | class AliMUONTriggerCrateStore; |
344ef20f |
29 | class TStopwatch; |
a19e2543 |
30 | |
31 | class AliMUONRawWriter : public TObject |
32 | { |
33 | public: |
2cbb173f |
34 | AliMUONRawWriter(AliMUONData* data); // Constructor |
2cf44ef3 |
35 | virtual ~AliMUONRawWriter(); // Destructor |
a19e2543 |
36 | |
37 | // write raw data |
2cbb173f |
38 | Int_t Digits2Raw(); |
a19e2543 |
39 | |
84ceeb06 |
40 | void SetScalersNumbers(); |
41 | |
8778870d |
42 | protected: |
43 | AliMUONRawWriter(); // Default constructor |
8778870d |
44 | |
45 | // writing raw data |
46 | Int_t WriteTrackerDDL(Int_t iCh); |
47 | Int_t WriteTriggerDDL(); |
48 | |
2cbb173f |
49 | private: |
344ef20f |
50 | Int_t GetBusPatch(const AliMUONDigit& digit) const; |
a844d67f |
51 | |
8778870d |
52 | private: |
2d95e00c |
53 | /// Not implemented copy constructor |
54 | AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor |
55 | /// Not implemented assignment operator |
56 | AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs); |
57 | |
a19e2543 |
58 | |
829425a5 |
59 | AliMUONData* fMUONData; //!< Data container for MUON subsystem |
a19e2543 |
60 | |
1d81a83f |
61 | FILE* fFile[4]; //!< DDL binary file pointer one per 1/2 chamber, 4 for one station |
344ef20f |
62 | |
829425a5 |
63 | AliMUONBlockHeader* fBlockHeader; //!< DDL block header class pointers |
64 | AliMUONDspHeader* fDspHeader; //!< DDL Dsp header class pointers |
829425a5 |
65 | AliMUONDarcHeader* fDarcHeader; //!< DDL darc header class pointers |
66 | AliMUONRegHeader* fRegHeader; //!< DDL regional header class pointers |
67 | AliMUONLocalStruct* fLocalStruct; //!< DDL local structure class pointers |
a19e2543 |
68 | |
5cab551d |
69 | AliMpDDLStore* fDDLStore; //!< DDL store pointer |
70 | AliMUONTriggerCrateStore* fCrateManager; //!< Crate array |
ced309a5 |
71 | |
829425a5 |
72 | Bool_t fScalerEvent; ///< flag to generates scaler event |
ced309a5 |
73 | |
829425a5 |
74 | AliRawDataHeader fHeader; ///< header of DDL |
2cf44ef3 |
75 | |
2cbb173f |
76 | |
344ef20f |
77 | TStopwatch* fTimers; //!< time watchers |
2cbb173f |
78 | |
344ef20f |
79 | ClassDef(AliMUONRawWriter,2) // MUON cluster reconstructor in ALICE |
a19e2543 |
80 | }; |
81 | |
82 | #endif |