InDetTrackSummary.h 1.59 KB
Newer Older
1
/*
2
  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
4
5
6
7
8
9
10
*/

#ifndef TRK_INDETTRACKSUMMARY_H
#define TRK_INDETTRACKSUMMARY_H

#include "Identifier/Identifier.h"

class MsgStream;
11
12
class InDetTrackSummaryCnv_p1;
class TrackSummaryCnv_p2;
13
14

namespace InDet {
15
class InDetTrackSummaryHelperTool;
16
17
18
}

namespace Trk {
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

/**
    Detailed track summary for the indet system
*/
class InDetTrackSummary
{
public:
  friend class InDet::InDetTrackSummaryHelperTool;
  friend class ::InDetTrackSummaryCnv_p1;
  friend class ::TrackSummaryCnv_p2;

  /** default constructor */
  InDetTrackSummary();
  InDetTrackSummary(const InDetTrackSummary&) = default;
  InDetTrackSummary(InDetTrackSummary&&) = default;
  InDetTrackSummary& operator=(const InDetTrackSummary&) = default;
  InDetTrackSummary& operator=(InDetTrackSummary&&) = default;
  /** destructor */
  ~InDetTrackSummary() = default;

  /** access to the vector of likelihoods (pion/kaon/proton) */
  const std::vector<float>& likelihoodsPixeldEdx() const
  {
    return m_likelihoodspixeldedx;
  }

  /** access to mass calculated using pixel dEdx */
  float massPixeldEdx() const { return m_massdedx; }

private:
  std::vector<float> m_likelihoodspixeldedx; //<! vector with likelihoods
  float m_massdedx; //<! mass calculated using pixel dEdx
};
52
53

/**output. This dumps the values of each of the possible summary enums*/
54
55
MsgStream&
operator<<(MsgStream& out, const InDetTrackSummary& trackSum);
56
57

/**output. This dumps the values of each of the possible summary enums*/
58
59
std::ostream&
operator<<(std::ostream& out, const InDetTrackSummary& trackSum);
60
61
62

}
#endif