]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawWriter.h
Some small corrections to avoid infinite loops at high momenta.
[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>
16#include "AliMpBusPatch.h"
17#include "AliMUONSubEventTracker.h"
18
19class TArrayI;
20class AliLoader;
21class AliMUONData;
22class AliMUONDigit;
23class AliMUONDDLTracker;
24class AliMUONDDLTrigger;
25class AliMUONGlobalTrigger;
26class AliMUONSubEventTrigger;
27class AliRawReader;
28class AliMUONGlobalTrigger;
29class AliMpSegFactory;
30
31class AliMUONRawWriter : public TObject
32{
33 public:
34 AliMUONRawWriter(AliLoader* loader, AliMUONData* data); // Constructor
35 virtual ~AliMUONRawWriter(void); // Destructor
36
37 // write raw data
38 Int_t Digits2Raw();
39
40 AliMUONData* GetMUONData() {return fMUONData;}
41
42 void AddData(const AliMUONSubEventTracker* event) {
43 TClonesArray &temp = *fSubEventArray;
44 new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event);
45 }
46
47 // could be private function (public for debugging)
48 Int_t GetInvMapping(const AliMUONDigit* digit, Int_t &busPatchId,
49 UShort_t &manuId, UChar_t &channelId);
50
51 Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const;
52
53 protected:
54 AliMUONRawWriter(); // Default constructor
55 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
56 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs); // assignment operator
57
58 private:
59
60 AliMUONData* fMUONData; //! Data container for MUON subsystem
61
62 AliLoader* fLoader; //! alice loader
63
64 AliMpSegFactory* fSegFactory; //! Mapping segmentation factory
65
66 FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber
67
68 TClonesArray* fSubEventArray; //! array to sub event tracker
69
70 AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers
71 AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers
72
73 AliMpBusPatch* fBusPatchManager; //! buspatch versus DE's & DDL
74
75 // writing raw data
76 Int_t WriteTrackerDDL(Int_t iCh);
77 Int_t WriteTriggerDDL();
78
79 ClassDef(AliMUONRawWriter,1) // MUON cluster reconstructor in ALICE
80};
81
82#endif