Dimitri just makes it work
[u/mrichter/AliRoot.git] / TRD / AliTRDdataArrayF.h
... / ...
CommitLineData
1#ifndef ALITRDDATAARRAYF_H
2#define ALITRDDATAARRAYF_H
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
19class AliTRDdataArrayF : public AliTRDdataArray {
20
21 public:
22
23 AliTRDdataArrayF();
24 AliTRDdataArrayF(Int_t nrow, Int_t ncol,Int_t ntime);
25 AliTRDdataArrayF(const AliTRDdataArrayF &a);
26 virtual ~AliTRDdataArrayF();
27 AliTRDdataArrayF &operator=(const AliTRDdataArrayF &a);
28
29 virtual void Allocate(Int_t nrow, Int_t ncol,Int_t ntime);
30 virtual void Copy(TObject &a);
31 virtual void Compress(Int_t bufferType, Float_t threshold);
32 virtual void Compress(Int_t bufferType);
33 virtual void Expand();
34 virtual Bool_t First();
35 virtual Bool_t Next();
36 virtual void Reset();
37
38 void SetData(Int_t row, Int_t col, Int_t time, Float_t value);
39 virtual void SetThreshold(Float_t threshold) { fThreshold = threshold; };
40
41 virtual Float_t GetData(Int_t row, Int_t col, Int_t time);
42 virtual Float_t GetThreshold() { return fThreshold; };
43
44 virtual Int_t GetSize();
45 virtual Int_t GetDataSize();
46 virtual Int_t GetOverThreshold(Float_t threshold);
47
48 protected:
49
50 inline void SetDataFast(Int_t idx1, Int_t idx2, Float_t value);
51 inline Float_t GetDataFast(Int_t idx1, Int_t idx2);
52
53 Float_t GetData1(Int_t idx1, Int_t idx2);
54 void Expand1();
55 void Compress1();
56 void Expand2();
57 void Compress2();
58 Bool_t First0();
59 Bool_t Next0();
60 Bool_t First1();
61 Bool_t Next1();
62
63 AliTRDarrayF *fElements; // Buffer of 4 bytes floats for the array content
64 Float_t fThreshold; // Threshold for zero suppression
65
66 ClassDef(AliTRDdataArrayF,1) // Container for float data of one TRD detector segment
67
68};
69
70#endif
71