]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONRawWriter.h
ESD file is added to the list of proof output files. It is then automatically merged...
[u/mrichter/AliRoot.git] / MUON / AliMUONRawWriter.h
... / ...
CommitLineData
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 base
9/// \class AliMUONRawWriter
10/// \brief Raw data class for trigger and tracker chambers
11///
12// Author Christian Finck and Laurent Aphecetche, Subatech
13
14#include <TObject.h>
15#include "AliFstream.h"
16
17class AliMUONBlockHeader;
18class AliMUONBusStruct;
19class AliMUONDarcHeader;
20class AliMUONVDigit;
21class AliMUONDspHeader;
22class AliMUONGlobalTrigger;
23class AliMUONLocalStruct;
24class AliMUONRegHeader;
25class AliMUONVDigitStore;
26class AliMUONVTriggerStore;
27class AliMpDDLStore;
28class AliMpExMap;
29class AliRawDataHeaderSim;
30
31class AliMUONRawWriter : public TObject
32{
33 public:
34 AliMUONRawWriter(); // Constructor
35 virtual ~AliMUONRawWriter(); // Destructor
36
37 // write raw data
38 Int_t Digits2Raw(AliMUONVDigitStore* digitStore, AliMUONVTriggerStore* triggerStore);
39
40 void SetScalersNumbers();
41
42 /// Set the header of DDL
43 void SetHeader(AliRawDataHeaderSim& header) {fHeader = &header;}
44
45private:
46
47 void Digits2BusPatchMap(const AliMUONVDigitStore& digitStore, AliMpExMap& busPatchMap);
48 void WriteTrackerDDL(AliMpExMap& busPatchMap, Int_t iDDL);
49
50 //void WriteBusPatch(AliMUONLocalBusStruct* busStruct);
51
52 Int_t WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore, AliFstream* file[2]);
53
54 Int_t GetBusPatch(const AliMUONVDigit& digit) const;
55
56private:
57 /// Not implemented copy constructor
58 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
59 /// Not implemented assignment operator
60 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs);
61
62 static void LocalWordPacking(UInt_t &word, UInt_t locId, UInt_t locDec,
63 UInt_t trigY, UInt_t posY, UInt_t posX,
64 UInt_t sdevX, UInt_t devX);
65
66 AliMUONBlockHeader* fBlockHeader; //!< DDL block header class pointers
67 AliMUONDspHeader* fDspHeader; //!< DDL Dsp header class pointers
68 AliMUONDarcHeader* fDarcHeader; //!< DDL darc header class pointers
69 AliMUONRegHeader* fRegHeader; //!< DDL regional header class pointers
70 AliMUONLocalStruct* fLocalStruct; //!< DDL local structure class pointers
71
72 AliMpDDLStore* fDDLStore; //!< DDL store pointer
73
74 Bool_t fScalerEvent; ///< flag to generates scaler event
75
76 AliRawDataHeaderSim* fHeader; ///< header of DDL
77
78 Int_t fBufferSize; //!< size of internal data buffer
79 Int_t* fBuffer; //!< internal data buffer
80
81 ClassDef(AliMUONRawWriter,5) // MUON cluster reconstructor in ALICE
82};
83
84#endif