*/
#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
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]; }
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