]>
Commit | Line | Data |
---|---|---|
e802be3e | 1 | #ifndef ALIFMDEDEPMAP_H |
2 | #define ALIFMDEDEPMAP_H | |
3 | /* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights | |
4 | * reserved. | |
5 | * | |
6 | * See cxx source for full Copyright notice | |
7 | */ | |
c2fc1258 | 8 | /** @file AliFMDEdepMap.h |
9 | @author Christian Holm Christensen <cholm@nbi.dk> | |
10 | @date Mon Mar 27 12:39:50 2006 | |
11 | @brief Per strip map of energy deposited and number of hits | |
02a27b50 | 12 | @ingroup FMD_sim |
c2fc1258 | 13 | */ |
02a27b50 | 14 | // |
15 | // Contains a pair of energy deposited @c fEdep and number of hits @c | |
16 | // fN, @c fEdep is the summed energy deposition, and @c fN is the | |
17 | // number of hits | |
e802be3e | 18 | #ifndef ALIFMDMAP_H |
97961cbd | 19 | # include "AliFMDMap.h" |
e802be3e | 20 | #endif |
02a27b50 | 21 | #ifndef ALIFMDEDEPHITPAIR_H |
22 | # include <AliFMDEdepHitPair.h> | |
23 | #endif | |
24 | ||
25 | ||
e802be3e | 26 | //____________________________________________________________________ |
02a27b50 | 27 | /** @brief Map of Energy deposited, hit information per strip. |
9f662337 | 28 | Contains a pair of energy deposited @c fEdep and |
29 | number of hits @c fN, @c fEdep is the summed energy deposition, | |
30 | and @c fN is the number of hits | |
31 | @ingroup FMD_sim | |
32 | */ | |
e802be3e | 33 | class AliFMDEdepMap : public AliFMDMap |
34 | { | |
35 | public: | |
9f662337 | 36 | /** Copy constructor |
37 | @param other Object to copy from. | |
38 | @return */ | |
e802be3e | 39 | AliFMDEdepMap(const AliFMDEdepMap& other); |
021f1396 | 40 | /** Constructor */ |
41 | AliFMDEdepMap(); | |
9f662337 | 42 | /** Constructor |
43 | @param maxDet Number of detectors (3) | |
44 | @param maxRing Number of rings (2) | |
45 | @param maxSec Number of sectors (40) | |
46 | @param maxStr Number of strips (20) */ | |
021f1396 | 47 | AliFMDEdepMap(UShort_t maxDet, |
48 | UShort_t maxRing= 0, | |
49 | UShort_t maxSec = 0, | |
50 | UShort_t maxStr = 0); | |
9f662337 | 51 | /** DTOR */ |
e802be3e | 52 | virtual ~AliFMDEdepMap() { delete [] fData; } |
53 | AliFMDEdepMap& operator=(const AliFMDEdepMap& other); | |
9f662337 | 54 | /** Reset to default */ |
088f8e79 | 55 | virtual void Reset(); |
9f662337 | 56 | /** Reset to value |
f8616692 | 57 | @param val Value to reset from */ |
088f8e79 | 58 | virtual void Reset(const AliFMDEdepHitPair& val); |
9f662337 | 59 | /** Access operator |
f8616692 | 60 | @param detector Detector |
61 | @param ring Ring | |
62 | @param sector Sector | |
63 | @param strip Strip | |
9f662337 | 64 | @return reference value stored for the strip */ |
e802be3e | 65 | virtual AliFMDEdepHitPair& operator()(UShort_t detector, |
f8616692 | 66 | Char_t ring, |
67 | UShort_t sector, | |
68 | UShort_t strip); | |
9f662337 | 69 | /** Access operator |
f8616692 | 70 | @param detector Detector |
71 | @param ring Ring | |
72 | @param sector Sector | |
73 | @param strip Strip | |
9f662337 | 74 | @return value stored for the strip */ |
e802be3e | 75 | virtual const AliFMDEdepHitPair& operator()(UShort_t detector, |
f8616692 | 76 | Char_t ring, |
77 | UShort_t sector, | |
78 | UShort_t strip) const; | |
045a97a7 | 79 | void* Ptr() const { return reinterpret_cast<void*>(fData); } |
e802be3e | 80 | protected: |
021f1396 | 81 | Int_t MaxIndex() const { return fTotal; } |
82 | Int_t AtAsInt(Int_t idx) const { return fData[idx].fN; } | |
83 | Int_t& AtAsInt(Int_t idx) { return AliFMDMap::AtAsInt(idx); } | |
84 | Bool_t AtAsBool(Int_t idx) const { return fData[idx].fEdep > 0; } | |
85 | Bool_t& AtAsBool(Int_t idx) { return AliFMDMap::AtAsBool(idx); } | |
86 | Float_t AtAsFloat(Int_t idx) const { return fData[idx].fEdep; } | |
87 | Float_t& AtAsFloat(Int_t idx) { return fData[idx].fEdep; } | |
88 | UShort_t AtAsUShort(Int_t idx) const { return fData[idx].fN; } | |
89 | UShort_t& AtAsUShort(Int_t idx) { return fData[idx].fN; } | |
90 | Bool_t IsUShort() const { return kTRUE; } | |
91 | Bool_t IsFloat() const { return kTRUE; } | |
408bf2b4 | 92 | Int_t fTotal; // Total number of entries |
bfdc7f5d | 93 | AliFMDEdepHitPair* fData; //[fTotal] The data |
0ed9abeb | 94 | ClassDef(AliFMDEdepMap, 3) // Cache of edep,hit information per strip |
e802be3e | 95 | }; |
96 | ||
97 | #endif | |
98 | //____________________________________________________________________ | |
99 | // | |
100 | // Local Variables: | |
101 | // mode: C++ | |
102 | // End: | |
103 | // | |
104 | // EOF | |
105 | // | |
106 | ||
107 |