4 #ifndef ALIHLTTRDCLUSTER_H
5 #define ALIHLTTRDCLUSTER_H
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 *
10 /** @file AliHLTTRDCluster.h
11 @author Thedoor Rascanu
13 @brief A datacontainer for clusters fitting component for the HLT.
16 #include "AliTRDcluster.h"
17 #include "AliHLTDataTypes.h"
19 class AliHLTTRDCluster
23 AliHLTTRDCluster(const AliTRDcluster* const inCluster);
24 void ExportTRDCluster(AliTRDcluster* const outCluster) const;
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);
30 UInt_t fSignals; // Signals in the cluster
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
35 UChar_t fBits; // Bits of the cluster
38 // disable warnings to avoid
39 // warning: base class ‘class ...’ has a non-virtual destructor
41 #if __GNUC__ == 4 && __GNUC_MINOR__ > 3
42 #pragma GCC diagnostic ignored "-Weffc++"
44 #pragma GCC system_header
46 #elif defined __SUNPRO_CC
48 #elif defined _MSC_VER
49 #pragma warning(push, 1)
52 class AliHLTTRDExtCluster: public AliHLTTRDCluster
55 AliHLTTRDExtCluster();
56 AliHLTTRDExtCluster(const AliTRDcluster* const inCluster);
57 void ExportTRDCluster(AliTRDcluster* const outCluster) const;
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.
66 // UChar_t fClusterMasking; // Bit field containing cluster status information
67 // Char_t fLocalTimeBin; // T0-calibrated time bin number
68 // UChar_t fNPads; // Number of pads in cluster
69 // Float_t fCenter; // Center of the cluster relative to the pad
74 #if __GNUC__ == 4 && __GNUC_MINOR__ > 3
75 #pragma GCC diagnostic warning "-Weffc++"
77 #elif defined __SUNPRO_CC
79 #elif defined _MSC_VER
83 struct AliHLTTRDClustersArray {
84 #ifdef HAVE_NOT_ALITRD_CLUSTERIZER_r42837
85 typedef AliHLTTRDExtCluster cluster_type;
87 typedef AliHLTTRDCluster cluster_type;
89 AliHLTTRDClustersArray(Int_t det):fDetector(det),fCount(0){}
92 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
93 cluster_type fCluster[1];
95 cluster_type fCluster[];