1 #ifndef ALIFLATTPCSEED_H
2 #define ALIFLATTPCSEED_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice *
6 * Primary Authors : Sergey Gorbunov, Jochen Thaeder, Chiara Zampolli */
9 * See implementation file for documentation
15 #include "AliFlatTPCCluster.h"
16 #include "AliVfriendTrack.h"
18 #include "AliFlatExternalTrackParam.h"
21 class AliESDfriendTrack;
22 class AliExternalTrackParam;
23 class AliTrackPointArray;
30 // --------------------------------------------------------------------------------
31 // -- Constructor / Destructors
35 // constructor and method for reinitialisation of virtual table
36 AliFlatTPCseed( AliVConstructorReinitialisationFlag );
37 void Reinitialize() { new (this) AliFlatTPCseed( AliVReinitialize ); }
43 void SetFromTPCseed( const AliTPCseed *p );
44 void GetTPCseed( AliTPCseed *p ) const;
46 Int_t GetLabel() const { return fLabel; }
47 Int_t GetNClusters() const { return fNTPCClusters; }
49 // --------------------------------------------------------------------------------
52 static size_t EstimateSize(){
53 return sizeof(AliFlatTPCseed) + 160*sizeof(AliFlatTPCCluster);
56 size_t GetSize() const { return fContent - reinterpret_cast<const Byte_t*>(this) + fContentSize; }
60 AliFlatTPCseed(const AliFlatTPCseed &);
61 AliFlatTPCseed& operator=(const AliFlatTPCseed& );
63 // --------------------------------------------------------------------------------
65 ULong64_t fContentSize; // Size of this object
67 // --------------------------------------------------------------------------------
69 AliFlatExternalTrackParam fParam;
72 Byte_t fContent[1]; // Variale size object, which contains all data
76 inline AliFlatTPCseed::AliFlatTPCseed()
87 #pragma GCC diagnostic ignored "-Weffc++"
88 inline AliFlatTPCseed::AliFlatTPCseed( AliVConstructorReinitialisationFlag )
90 // reinitialise vtable
91 fParam.Reinitialize();
92 AliFlatTPCCluster *clusters = reinterpret_cast< AliFlatTPCCluster* >( fContent );
93 for( Int_t ic=0; ic<fNTPCClusters; ic++ ){
94 clusters[ic].Reinitialize();
97 #pragma GCC diagnostic warning "-Weffc++"
100 inline void AliFlatTPCseed::Reset()