]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawWriter.h
Removed classes with new classes for raw data
[u/mrichter/AliRoot.git] / MUON / AliMUONRawWriter.h
CommitLineData
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
8/// \ingroup rec
9/// \class AliMUONRawWriter
10/// \brief Raw data class for trigger and tracker chambers
11///
12/// Writring Raw data class for trigger and tracker chambers
13
14#include <TObject.h>
15#include <TClonesArray.h>
2cf44ef3 16#include "AliMUONBusStruct.h"
17#include "AliRawDataHeader.h"
2cbb173f 18#include "TStopwatch.h"
a19e2543 19
2cbb173f 20class AliMUONData;
21class AliMUONDigit;
2cf44ef3 22class AliMUONDspHeader;
23class AliMUONBlockHeader;
24class AliMUONDarcHeader;
25class AliMUONRegHeader;
26class AliMUONLocalStruct;
a19e2543 27class AliMUONGlobalTrigger;
2cbb173f 28class AliMpBusPatch;
a19e2543 29class AliMpSegFactory;
30
31class 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
2cbb173f 40 void SetScalerEvent() {fScalerEvent = kTRUE;}
41
8778870d 42protected:
43 AliMUONRawWriter(); // Default constructor
44 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
45 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs); // assignment operator
46
47 // writing raw data
48 Int_t WriteTrackerDDL(Int_t iCh);
49 Int_t WriteTriggerDDL();
50
2cbb173f 51private:
a19e2543 52
2cf44ef3 53 void AddData(const AliMUONBusStruct& event)
2cbb173f 54 {
2cf44ef3 55 TClonesArray &temp = *fBusArray;
56 new(temp[temp.GetEntriesFast()]) AliMUONBusStruct(event);
a19e2543 57 }
58
2cbb173f 59 Int_t GetBusPatch(const AliMUONDigit& digit);
60
a19e2543 61 Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const;
62
8778870d 63private:
a19e2543 64
65 AliMUONData* fMUONData; //! Data container for MUON subsystem
66
a19e2543 67 FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber
68
2cf44ef3 69 TClonesArray* fBusArray; //! array to sub event tracker
a19e2543 70
2cf44ef3 71 AliMUONBlockHeader* fBlockHeader; //! DDL block header class pointers
72 AliMUONDspHeader* fDspHeader; //! DDL Dsp header class pointers
73 AliMUONBusStruct* fBusStruct; //! DDL bus patch structure class pointers
74 AliMUONDarcHeader* fDarcHeader; //! DDL darc header class pointers
75 AliMUONRegHeader* fRegHeader; //! DDL regional header class pointers
76 AliMUONLocalStruct* fLocalStruct; //! DDL local structure class pointers
a19e2543 77
ced309a5 78 AliMpBusPatch* fBusPatchManager; //! buspatch versus DE's & DDL
79
80 Bool_t fScalerEvent; // flag to generates scaler event
81
2cf44ef3 82 AliRawDataHeader fHeader; // header of DDL
83
ced309a5 84 static Int_t fgManuPerBusSwp1B[12]; //! array containing the first manuId for each buspatch st1, Bending
85 static Int_t fgManuPerBusSwp1NB[12]; //! array containing the first manuId for each buspatch st1, NBending
86
87 static Int_t fgManuPerBusSwp2B[12]; //! array containing the first manuId for each buspatch st2, Bending
88 static Int_t fgManuPerBusSwp2NB[12]; //! array containing the first manuId for each buspatch st2, NBending
2cbb173f 89
90 TStopwatch fTrackerTimer; //!
91 TStopwatch fTriggerTimer; //!
92 TStopwatch fMappingTimer; //!
93
94 AliMpSegFactory* fSegFactory; //!
95
2cf44ef3 96 ClassDef(AliMUONRawWriter,1) // MUON cluster reconstructor in ALICE
a19e2543 97};
98
99#endif