]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/AliFlatTPCseed.h
Merge branch 'flatdev' of https://git.cern.ch/reps/AliRoot into flatdev
[u/mrichter/AliRoot.git] / HLT / global / AliFlatTPCseed.h
1 #ifndef ALIFLATTPCSEED_H
2 #define ALIFLATTPCSEED_H
3
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     */
7
8 /*
9  * See implementation file for documentation
10  */
11
12
13 #include "Rtypes.h"
14
15 #include "AliFlatTPCCluster.h"
16 #include "AliVfriendTrack.h"
17 #include "AliVMisc.h"
18 #include "AliFlatExternalTrackParam.h"
19 #include "AliFlatTPCseed.h"
20
21 class AliESDtrack;
22 class AliESDfriendTrack;
23 class AliExternalTrackParam;
24 class AliTrackPointArray;
25 class AliTPCseed;
26
27 class AliFlatTPCseed  
28 {
29  public:
30
31   // --------------------------------------------------------------------------------
32   // -- Constructor / Destructors
33   AliFlatTPCseed();
34   ~AliFlatTPCseed() {}
35  
36   // constructor and method for reinitialisation of virtual table  
37   AliFlatTPCseed( AliVConstructorReinitialisationFlag );
38   void Reinitialize() { new (this) AliFlatTPCseed( AliVReinitialize ); }
39
40   // -- Set methods
41  
42   void Reset();
43
44   void SetFromTPCseed( const AliTPCseed *p );
45   void GetTPCseed( AliTPCseed *p ) const;
46
47   
48   // --------------------------------------------------------------------------------
49   // -- Size methods
50
51   static size_t EstimateSize(){
52     return sizeof(AliFlatTPCseed) + 6*sizeof(AliFlatExternalTrackParam);
53   }
54
55   size_t GetSize() const { return fContent -  reinterpret_cast<const Byte_t*>(this) + fContentSize; }
56
57  private: 
58
59   AliFlatTPCseed(const AliFlatTPCseed &);
60   AliFlatTPCseed& operator=(const AliFlatTPCseed& ); 
61
62   // --------------------------------------------------------------------------------
63
64   ULong64_t fContentSize;                      // Size of this object
65
66   // --------------------------------------------------------------------------------
67   
68   Byte_t fContent[1];                  // Variale size object, which contains all data
69
70 };
71
72
73 #endif