]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/global/AliFlatESDVertex.h
Make SetChi2 method public
[u/mrichter/AliRoot.git] / HLT / global / AliFlatESDVertex.h
index 8961b4bfae93687ea32022cac5ba52915bf4a214..74b3ab62278ddbcd754b66850b8c762150f86259 100644 (file)
  */
 
 #include "Rtypes.h"
-#include "AliVVvertex.h"
+#include "AliVMisc.h"
 #include "AliESDVertex.h"
 
-class AliFlatESDVertex: public AliVVvertex
-//class AliFlatESDVertex
+struct AliFlatESDVertex
 {
-  public:
+  // -- Constructor / Destructors
+  AliFlatESDVertex();
+ ~AliFlatESDVertex() {}
+
+  // constructor and method for reinitialisation of virtual table
+  AliFlatESDVertex( AliVConstructorReinitialisationFlag );
+  void Reinitialize() const {} // no virtual table - do nothing
+
+  //--
+
   Double32_t fPosition[3];    // vertex position
   Double32_t fCov[6];  // vertex covariance matrix
   Int_t    fNContributors;  // # of tracklets/tracks used for the estimate   
@@ -27,15 +36,9 @@ class AliFlatESDVertex: public AliVVvertex
     Char_t fBCID;     // BC ID assigned to vertex
   */
 
-       AliFlatESDVertex(Bool_t){}
-  virtual ~AliFlatESDVertex() {}
-
-  AliFlatESDVertex() :fNContributors(0), fChi2(0){
-    for( int i=0; i<3; i++) fPosition[i] = -9999;
-    for( int i=0; i<6; i++) fCov[i] = -9999;
-  }
 
-  void Set(const AliESDVertex &v );
+  void SetFromESDVertex(const AliESDVertex &v );
+  void GetESDVertex( AliESDVertex &v ) const;
 
   Double32_t GetX() const { return fPosition[0]; }
   Double32_t GetY() const { return fPosition[1]; }
@@ -94,8 +97,46 @@ class AliFlatESDVertex: public AliVVvertex
   Double_t GetWDist(const AliESDVertex* v) const;
   */
 
-
+  static size_t GetSize() { return sizeof(AliFlatESDVertex); }
  
 };
 
+inline AliFlatESDVertex::AliFlatESDVertex() :
+fNContributors(0), 
+fChi2(0)
+{
+  for( int i=0; i<3; i++) fPosition[i] = -9999;
+  for( int i=0; i<6; i++) fCov[i] = -9999;
+}
+
+#pragma GCC diagnostic ignored "-Weffc++" 
+inline AliFlatESDVertex::AliFlatESDVertex( AliVConstructorReinitialisationFlag ){}  // do nothing
+#pragma GCC diagnostic warning "-Weffc++" 
+
+inline void AliFlatESDVertex::SetFromESDVertex(const AliESDVertex &v )
+{
+  fPosition[0] = v.GetX();
+  fPosition[1] = v.GetY();
+  fPosition[2] = v.GetZ();
+  Double_t c[6]; 
+  v.GetCovarianceMatrix( c ); 
+  for( int i=0; i<6; i++) fCov[i] = c[i];
+  fNContributors = v.GetNContributors();
+  fChi2 = v.GetChi2();
+}
+
+inline void AliFlatESDVertex::GetESDVertex( AliESDVertex &v ) const
+{
+  v.Reset();
+  Double_t p[3] = { fPosition[0], fPosition[1], fPosition[2] }; 
+  v.SetXYZ( p );
+  Double_t c[6]; 
+  for( int i=0; i<6; i++) c[i] = fCov[i];
+  v.SetCovarianceMatrix( c );
+  v.SetNContributors( fNContributors );
+  v.SetChi2( fChi2 );
+}
+
+typedef struct AliFlatESDVertex AliFlatESDVertex;
+
 #endif