]>
Commit | Line | Data |
---|---|---|
93ce7d1b | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | ||
d679dd6c | 4 | #ifndef ALIHLTTRDCLUSTER_H |
5 | #define ALIHLTTRDCLUSTER_H | |
93ce7d1b | 6 | //* This file is property of and copyright by the ALICE HLT Project * |
7 | //* ALICE Experiment at CERN, All rights reserved. * | |
8 | //* See cxx source for full Copyright notice * | |
d679dd6c | 9 | |
196a8c4f | 10 | /** @file AliHLTTRDCluster.h |
11 | @author Thedoor Rascanu | |
12 | @date | |
13 | @brief A datacontainer for clusters fitting component for the HLT. | |
14 | */ | |
15 | ||
d679dd6c | 16 | #include "AliTRDcluster.h" |
17 | #include "AliHLTDataTypes.h" | |
18 | ||
19 | class AliHLTTRDCluster | |
20 | { | |
196a8c4f | 21 | public: |
d679dd6c | 22 | AliHLTTRDCluster(); |
93ce7d1b | 23 | AliHLTTRDCluster(const AliTRDcluster* const inCluster); |
24 | void ExportTRDCluster(AliTRDcluster* const outCluster) const; | |
196a8c4f | 25 | static AliHLTUInt32_t SaveAt(AliHLTUInt8_t *const block, const AliTRDcluster* const inClust); |
26 | static AliHLTUInt32_t LoadFrom(AliTRDcluster *const outClust, const AliHLTUInt8_t *const block); | |
d679dd6c | 27 | |
196a8c4f | 28 | private: |
d679dd6c | 29 | // From AliTRDcluster |
196a8c4f | 30 | UInt_t fSignals; // Signals in the cluster |
0fae33c8 | 31 | |
32 | UChar_t fPadCol; // Central pad number in column direction | |
33 | UChar_t fPadRow; // Central pad number in row direction | |
34 | UChar_t fPadTime; // Uncalibrated time bin number | |
0fae33c8 | 35 | UChar_t fBits; // Bits of the cluster |
196a8c4f | 36 | }; |
37 | ||
68506405 | 38 | // disable warnings to avoid |
39 | // warning: base class ‘class ...’ has a non-virtual destructor | |
40 | #if defined __GNUC__ | |
fcffef80 | 41 | #if __GNUC__ == 4 && __GNUC_MINOR__ > 3 |
68506405 | 42 | #pragma GCC diagnostic ignored "-Weffc++" |
fcffef80 | 43 | #else |
44 | #pragma GCC system_header | |
45 | #endif | |
68506405 | 46 | #elif defined __SUNPRO_CC |
47 | #pragma disable_warn | |
48 | #elif defined _MSC_VER | |
49 | #pragma warning(push, 1) | |
50 | #endif | |
51 | ||
196a8c4f | 52 | class AliHLTTRDExtCluster: public AliHLTTRDCluster |
53 | { | |
54 | public: | |
55 | AliHLTTRDExtCluster(); | |
56 | AliHLTTRDExtCluster(const AliTRDcluster* const inCluster); | |
57 | void ExportTRDCluster(AliTRDcluster* const outCluster) const; | |
58 | void Print() const; | |
93ce7d1b | 59 | |
196a8c4f | 60 | private: |
61 | // From AliCluster | |
62 | Float_t fX; // X of the cluster in the tracking c.s. | |
63 | Float_t fY; // Y of the cluster in the tracking c.s. | |
64 | Float_t fZ; // Z of the cluster in the tracking c.s. | |
65 | ||
66 | // UChar_t fClusterMasking; // Bit field containing cluster status information | |
67 | // Char_t fLocalTimeBin; // T0-calibrated time bin number | |
0fae33c8 | 68 | // UChar_t fNPads; // Number of pads in cluster |
69 | // Float_t fCenter; // Center of the cluster relative to the pad | |
93ce7d1b | 70 | |
d679dd6c | 71 | }; |
72 | ||
68506405 | 73 | #if defined __GNUC__ |
fcffef80 | 74 | #if __GNUC__ == 4 && __GNUC_MINOR__ > 3 |
68506405 | 75 | #pragma GCC diagnostic warning "-Weffc++" |
fcffef80 | 76 | #endif |
68506405 | 77 | #elif defined __SUNPRO_CC |
78 | #pragma enable_warn | |
79 | #elif defined _MSC_VER | |
80 | #pragma warning(pop) | |
81 | #endif | |
82 | ||
196a8c4f | 83 | struct AliHLTTRDClustersArray { |
21aabbaa | 84 | #ifdef HAVE_NOT_ALITRD_CLUSTERIZER_r42837 |
196a8c4f | 85 | typedef AliHLTTRDExtCluster cluster_type; |
86 | #else | |
87 | typedef AliHLTTRDCluster cluster_type; | |
88 | #endif | |
89 | AliHLTTRDClustersArray(Int_t det):fDetector(det),fCount(0){} | |
90 | Short_t fDetector; | |
91 | UShort_t fCount; | |
92 | #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC) | |
93 | cluster_type fCluster[1]; | |
94 | #else | |
95 | cluster_type fCluster[]; | |
96 | #endif | |
97 | }; | |
98 | ||
d679dd6c | 99 | #endif |