]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawWriter.h
Interfaced with new trigger mapping (Christian)
[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
474f669f 8/// \ingroup base
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
2cf44ef3 17class AliMUONBlockHeader;
344ef20f 18class AliMUONBusStruct;
48217459 19class AliMUONDarcHeader;
20class AliMUONVDigit;
21class AliMUONDspHeader;
a19e2543 22class AliMUONGlobalTrigger;
48217459 23class AliMUONLocalStruct;
24class AliMUONRegHeader;
25class AliMUONStopwatchGroup;
a844d67f 26class AliMUONTriggerCrateStore;
48217459 27class AliMUONVDigitStore;
28class AliMUONVTriggerStore;
29class AliMpDDLStore;
30class AliMpExMap;
a19e2543 31
32class AliMUONRawWriter : public TObject
33{
34 public:
48217459 35 AliMUONRawWriter(); // Constructor
2cf44ef3 36 virtual ~AliMUONRawWriter(); // Destructor
a19e2543 37
38 // write raw data
48217459 39 Int_t Digits2Raw(AliMUONVDigitStore* digitStore, AliMUONVTriggerStore* triggerStore);
40
84ceeb06 41 void SetScalersNumbers();
42
48217459 43private:
44
45 void Digits2BusPatchMap(const AliMUONVDigitStore& digitStore, AliMpExMap& busPatchMap);
46 void WriteTrackerDDL(AliMpExMap& busPatchMap, Int_t iDDL);
8778870d 47
48217459 48 //void WriteBusPatch(AliMUONLocalBusStruct* busStruct);
8778870d 49
48217459 50 Int_t WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore, FILE* file[2]);
51
52 Int_t GetBusPatch(const AliMUONVDigit& digit) const;
a844d67f 53
8778870d 54private:
2d95e00c 55 /// Not implemented copy constructor
56 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
57 /// Not implemented assignment operator
58 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs);
59
829425a5 60 AliMUONBlockHeader* fBlockHeader; //!< DDL block header class pointers
61 AliMUONDspHeader* fDspHeader; //!< DDL Dsp header class pointers
829425a5 62 AliMUONDarcHeader* fDarcHeader; //!< DDL darc header class pointers
63 AliMUONRegHeader* fRegHeader; //!< DDL regional header class pointers
64 AliMUONLocalStruct* fLocalStruct; //!< DDL local structure class pointers
a19e2543 65
5cab551d 66 AliMpDDLStore* fDDLStore; //!< DDL store pointer
67 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
ced309a5 68
829425a5 69 Bool_t fScalerEvent; ///< flag to generates scaler event
ced309a5 70
829425a5 71 AliRawDataHeader fHeader; ///< header of DDL
2cbb173f 72
48217459 73 AliMUONStopwatchGroup* fTimers; //!< time watchers
74
75 Int_t fBufferSize; //!< size of internal data buffer
76 Int_t* fBuffer; //!< internal data buffer
77
78 ClassDef(AliMUONRawWriter,3) // MUON cluster reconstructor in ALICE
a19e2543 79};
80
81#endif