]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawWriter.h
First big commit of the mchview program and its accompanying library,
[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>
f7ee745b 15#include "AliRawDataHeaderSim.h"
b672bf31 16#include "AliFstream.h"
a19e2543 17
2cf44ef3 18class AliMUONBlockHeader;
344ef20f 19class AliMUONBusStruct;
48217459 20class AliMUONDarcHeader;
21class AliMUONVDigit;
22class AliMUONDspHeader;
a19e2543 23class AliMUONGlobalTrigger;
48217459 24class AliMUONLocalStruct;
25class AliMUONRegHeader;
48217459 26class AliMUONVDigitStore;
27class AliMUONVTriggerStore;
28class AliMpDDLStore;
29class AliMpExMap;
a19e2543 30
31class AliMUONRawWriter : public TObject
32{
33 public:
48217459 34 AliMUONRawWriter(); // Constructor
2cf44ef3 35 virtual ~AliMUONRawWriter(); // Destructor
a19e2543 36
37 // write raw data
48217459 38 Int_t Digits2Raw(AliMUONVDigitStore* digitStore, AliMUONVTriggerStore* triggerStore);
39
84ceeb06 40 void SetScalersNumbers();
41
48217459 42private:
43
44 void Digits2BusPatchMap(const AliMUONVDigitStore& digitStore, AliMpExMap& busPatchMap);
45 void WriteTrackerDDL(AliMpExMap& busPatchMap, Int_t iDDL);
8778870d 46
48217459 47 //void WriteBusPatch(AliMUONLocalBusStruct* busStruct);
8778870d 48
b672bf31 49 Int_t WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore, AliFstream* file[2]);
48217459 50
51 Int_t GetBusPatch(const AliMUONVDigit& digit) const;
a844d67f 52
8778870d 53private:
2d95e00c 54 /// Not implemented copy constructor
55 AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
56 /// Not implemented assignment operator
57 AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs);
58
2ed86fc4 59 static void LocalWordPacking(UInt_t &word, UInt_t locId, UInt_t locDec,
60 UInt_t trigY, UInt_t posY, UInt_t posX,
61 UInt_t sdevX, UInt_t devX);
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
ced309a5 70
829425a5 71 Bool_t fScalerEvent; ///< flag to generates scaler event
ced309a5 72
f7ee745b 73 AliRawDataHeaderSim fHeader; ///< header of DDL
2cbb173f 74
48217459 75 Int_t fBufferSize; //!< size of internal data buffer
76 Int_t* fBuffer; //!< internal data buffer
77
134d2964 78 ClassDef(AliMUONRawWriter,4) // MUON cluster reconstructor in ALICE
a19e2543 79};
80
81#endif