1212// / \brief
1313// /
1414
15- #ifndef VERTEXERTRAITS_H_
16- #define VERTEXERTRAITS_H_
15+ #ifndef O2_ITS_TRACKING_VERTEXER_TRAITS_H_
16+ #define O2_ITS_TRACKING_VERTEXER_TRAITS_H_
1717
1818#include " ITStracking/Configuration.h"
1919#include < array>
2020#include < vector>
2121
2222#include " ITStracking/Cluster.h"
23- #include " ITStracking/ROframe.h"
2423#include " ClusterLines.h"
25- #include " ReconstructionDataFormats/Vertex.h"
2624
2725namespace o2
2826{
27+
2928namespace ITS
3029{
3130
32- using Vertex = o2::dataformats::Vertex<o2::dataformats::TimeStamp<int >>;
31+ class ROframe ;
32+
3333using Constants::IndexTable::PhiBins;
3434using Constants::IndexTable::ZBins;
3535using Constants::ITS::LayersNumberVertexer;
3636
37+ struct lightVertex {
38+ lightVertex (float x, float y, float z, std::array<float , 6 > rms2, float avgdis2, int cont, int stamp);
39+ float mX ;
40+ float mY ;
41+ float mZ ;
42+ std::array<float , 6 > mRMS2 ;
43+ float mAvgDistance2 ;
44+ int mContributors ;
45+ int mTimeStamp ;
46+ };
47+
48+ inline lightVertex::lightVertex (float x, float y, float z, std::array<float , 6 > rms2, float avgdis2, int cont, int stamp) : mX(x), mY(y), mZ(z), mRMS2(rms2), mAvgDistance2(avgdis2), mContributors(cont), mTimeStamp(stamp)
49+ {
50+ }
51+
3752class VertexerTraits
3853{
3954 public:
@@ -42,22 +57,20 @@ class VertexerTraits
4257
4358 // virtual vertexer interface
4459 virtual void reset ();
45- virtual void initialise (const ROframe& );
60+ virtual void initialise (ROframe* );
4661 virtual void computeTracklets (const bool useMCLabel = false );
4762 virtual void computeVertices ();
4863
4964 void updateVertexingParameters (const VertexingParameters& vrtPar);
50- std::vector<Vertex> exportVertices () { return mVertices ; }
51-
5265 static const std::vector<std::pair<int , int >> selectClusters (const std::array<int , ZBins * PhiBins + 1 >& indexTable,
5366 const std::array<int , 4 >& selectedBinsRect);
54- std::vector<Vertex > getVertices () const { return mVertices ; }
67+ std::vector<lightVertex > getVertices () const { return mVertices ; }
5568 void dumpVertexerTraits ();
5669
5770 protected:
5871 VertexingParameters mVrtParams ;
5972 std::array<std::array<int , ZBins * PhiBins + 1 >, LayersNumberVertexer> mIndexTables ;
60- std::vector<Vertex > mVertices ;
73+ std::vector<lightVertex > mVertices ;
6174
6275 // Frame related quantities
6376 o2::ITS::ROframe* mEvent ;
@@ -77,4 +90,4 @@ inline void VertexerTraits::updateVertexingParameters(const VertexingParameters&
7790
7891} // namespace ITS
7992} // namespace o2
80- #endif /* VERTEXERTRAITS_H_ */
93+ #endif /* O2_ITS_TRACKING_VERTEXER_TRAITS_H_ */
0 commit comments