Possibility to not write syswatch info to file (default)
[u/mrichter/AliRoot.git] / STEER / ESD / AliFMDFloatMap.h
CommitLineData
9da38871 1#ifndef ALIFMDFLOATMAP_H
2#define ALIFMDFLOATMAP_H
3/* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights
4 * reserved.
5 *
6 * See cxx source for full Copyright notice
7 */
8#ifndef ALIFMDMAP_H
d65adc48 9# include "AliFMDMap.h"
9da38871 10#endif
11//____________________________________________________________________
12//
13// Array of floats indexed by strip identifier.
6169f936 14// the floats are indexed by the coordinates
15// DETECTOR # (1-3)
16// RING ID ('I' or 'O', any case)
17// SECTOR # (0-39)
18// STRIP # (0-511)
9da38871 19//
20class AliFMDFloatMap : public AliFMDMap
21{
22public:
021f1396 23 AliFMDFloatMap();
24 AliFMDFloatMap(Int_t maxDet,
25 Int_t maxRing= 0,
26 Int_t maxSec = 0,
27 Int_t maxStr = 0);
28 AliFMDFloatMap(const AliFMDMap& o);
9da38871 29 AliFMDFloatMap(const AliFMDFloatMap& o);
a2fbb067 30 virtual ~AliFMDFloatMap() { delete [] fData;fData = 0; }
9da38871 31 AliFMDFloatMap& operator=(const AliFMDFloatMap& o);
32 virtual void Reset(const Float_t& v=Float_t());
33 virtual Float_t& operator()(UShort_t det,
34 Char_t ring,
35 UShort_t sec,
36 UShort_t str);
37 virtual const Float_t& operator()(UShort_t det,
38 Char_t ring,
39 UShort_t sec,
40 UShort_t str) const;
c05d076f 41 Float_t* Data() const { return fData; }
ac2e7f23 42 void Print(Option_t* option="%8.4f") const { AliFMDMap::Print(option); }
43 void* Ptr() const { return reinterpret_cast<void*>(fData); }
9da38871 44protected:
021f1396 45 Int_t MaxIndex() const { return fTotal; }
46 Float_t AtAsFloat(Int_t i) const { return fData[i]; }
47 Float_t& AtAsFloat(Int_t i) { return fData[i]; }
48 Bool_t IsFloat() const { return kTRUE; }
49
fe12e09c 50 Int_t fTotal; // Total number of entries
ac07a8f5 51 Float_t* fData; //[fTotal]
021f1396 52 ClassDef(AliFMDFloatMap,3) // Map of floats
9da38871 53};
54
021f1396 55inline AliFMDFloatMap
56operator*(const AliFMDMap& lhs, const AliFMDMap& rhs)
57{
58 AliFMDFloatMap r(lhs);
59 r *= rhs;
60 return r;
61}
62inline AliFMDFloatMap
63operator/(const AliFMDMap& lhs, const AliFMDMap& rhs)
64{
65 AliFMDFloatMap r(lhs);
66 r /= rhs;
67 return r;
68}
69inline AliFMDFloatMap
70operator+(const AliFMDMap& lhs, const AliFMDMap& rhs)
71{
72 AliFMDFloatMap r(lhs);
73 r += rhs;
74 return r;
75}
76inline AliFMDFloatMap
77operator-(const AliFMDMap& lhs, const AliFMDMap& rhs)
78{
79 AliFMDFloatMap r(lhs);
80 r -= rhs;
81 return r;
82}
83
9da38871 84#endif
85//____________________________________________________________________
86//
87// Local Variables:
88// mode: C++
89// End:
90//
91