3 #ifndef ALIL3TPCBEAMTESTMEMHANDLER_H
4 #define ALIL3TPCBEAMTESTMEMHANDLER_H
6 //_____________________________________________________________
7 // AliHLTTPCBeamTestMemHandler
9 // Class for converting the test beam data of May 2004
10 // to the HLT file format using R. Bramms tables.
12 // Author: C. Loizides <loizides@ikf.uni-frankfurt.de>
13 // -- Copyright © ALICE HLT Group
16 #include "AliHLTMemHandler.h"
18 class AliHLTTPCBeamTestMemHandler : public AliHLTMemHandler{
21 AliHLTTPCBeamTestMemHandler(Char_t *fPathToMappingFile="./MappingHWAdress.data");
22 virtual ~AliHLTTPCBeamTestMemHandler();
24 void SetInputPointer(Short_t *ptr, Int_t s) {fInputPtr=ptr;fInputSize=s;}
25 void SetNTimeBins(Int_t i) {
26 fNTimeBins=i;AliHLTTransform::SetNTimeBins(i);
28 void SetMinTimeBin(Int_t i) {
32 Int_t MappingGetPadRow(Int_t channel) const {
34 if(channel < fNumOfChannels) retval = fMapping[channel][2]-fRowMin;
39 Int_t MappingGetPad(Int_t channel) const {
41 if(channel < fNumOfChannels) retval = fMapping[channel][3];
46 AliHLTDigitRowData* RawData2Memory(UInt_t &nrow,Int_t event=-1);
47 Bool_t RawData2CompBinary(Int_t event=-1);
51 struct AliRowStructure {
53 Int_t fNDigits; //digits
54 Int_t *fPadPos; // pad position
57 Short_t **fMapping;//! // mapping of channels to pads
58 Short_t *fMappingEmptyRow;//! // helper field
59 Int_t fNumOfChannels; // number of channels
61 Short_t *fInputPtr;//! // input pointer from shared memory
62 Int_t fInputSize;//! // size of input data
63 AliRowStructure *fRows;//! // rows
64 Int_t fNTimeBins; // number of timebins
65 Int_t fMinTimeBin; // min timebin (not zero because of altro)
67 ClassDef(AliHLTTPCBeamTestMemHandler,1) //RawData Filehandler class
70 typedef AliHLTTPCBeamTestMemHandler AliL3TPCBeamTestMemHandler; // for backward compatibility