Merge with TRD-develop
[u/mrichter/AliRoot.git] / TRD / AliTRDdataArrayF.h
CommitLineData
8230f242 1#ifndef ALITRDDATAARRAYF_H
2#define ALITRDDATAARRAYF_H
6f1e466d 3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id: AliTRDdataArrayF.h,v */
8
9#include "AliTRDdataArray.h"
10
11/////////////////////////////////////////////////////////////
12// //
13// General container for float data from TRD detector //
14// segments. //
15// Adapted from AliDigits, origin M.Ivanov //
16// //
17/////////////////////////////////////////////////////////////
18
793ff80c 19class AliTRDarrayF;
20
6f1e466d 21class AliTRDdataArrayF : public AliTRDdataArray {
22
23 public:
24
25 AliTRDdataArrayF();
26 AliTRDdataArrayF(Int_t nrow, Int_t ncol,Int_t ntime);
dd9a6ee3 27 AliTRDdataArrayF(const AliTRDdataArrayF &a);
8230f242 28 virtual ~AliTRDdataArrayF();
dd9a6ee3 29 AliTRDdataArrayF &operator=(const AliTRDdataArrayF &a);
6f1e466d 30
31 virtual void Allocate(Int_t nrow, Int_t ncol,Int_t ntime);
43da34c0 32 virtual void Copy(TObject &a);
6f1e466d 33 virtual void Compress(Int_t bufferType, Float_t threshold);
34 virtual void Compress(Int_t bufferType);
35 virtual void Expand();
36 virtual Bool_t First();
37 virtual Bool_t Next();
38 virtual void Reset();
39
504a18fe 40 void SetData(Int_t row, Int_t col, Int_t time, Float_t value);
6f1e466d 41 virtual void SetThreshold(Float_t threshold) { fThreshold = threshold; };
42
793ff80c 43 virtual Float_t GetData(Int_t row, Int_t col, Int_t time) const;
44 virtual Float_t GetThreshold() const { return fThreshold; };
6f1e466d 45
46 virtual Int_t GetSize();
47 virtual Int_t GetDataSize();
48 virtual Int_t GetOverThreshold(Float_t threshold);
49
50 protected:
51
52 inline void SetDataFast(Int_t idx1, Int_t idx2, Float_t value);
793ff80c 53 inline Float_t GetDataFast(Int_t idx1, Int_t idx2) const;
6f1e466d 54
793ff80c 55 Float_t GetData1(Int_t idx1, Int_t idx2) const;
6f1e466d 56 void Expand1();
57 void Compress1();
58 void Expand2();
59 void Compress2();
60 Bool_t First0();
61 Bool_t Next0();
62 Bool_t First1();
63 Bool_t Next1();
64
65 AliTRDarrayF *fElements; // Buffer of 4 bytes floats for the array content
66 Float_t fThreshold; // Threshold for zero suppression
67
68 ClassDef(AliTRDdataArrayF,1) // Container for float data of one TRD detector segment
69
70};
71
6f1e466d 72#endif
73