ATLAS Offline Software
Loading...
Searching...
No Matches
PositionMomentumWriter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// PositionMomentumWriter.h
8
9#ifndef TRK_POSITIONMOMENTUMWRITER_H
10#define TRK_POSITIONMOMENTUMWRITER_H
11
13
15
16class TTree;
17
18namespace Trk {
19
26
28 public:
30 PositionMomentumWriter(const std::string&,const std::string&,const IInterface*);
32
34 virtual StatusCode initialize() override;
35 virtual StatusCode finalize() override;
36
38 virtual void initializeTrack(const Amg::Vector3D& pos,
39 const Amg::Vector3D& mom,
40 double m, int pdg) override;
41
42
44 virtual void recordTrackState(const Amg::Vector3D& pos, const Amg::Vector3D& mom) override;
45
47 virtual void finalizeTrack() override;
48
49 private:
50
51 std::string m_treeName;
52 std::string m_treeFolder;
53 std::string m_treeDescription;
54 TTree* m_tree;
55
56 float m_pM;
57 float m_pEta;
58 float m_pPhi;
59 float m_pE;
60 float m_eEta;
61 float m_ePhi;
62 float m_eE;
63 int m_pPdg;
64 std::vector< float >* m_pPositionX;
65 std::vector< float >* m_pPositionY;
66 std::vector< float >* m_pPositionZ;
67 std::vector< float >* m_pPositionR;
68 std::vector< float >* m_pMomentumX;
69 std::vector< float >* m_pMomentumY;
70 std::vector< float >* m_pMomentumZ;
71 std::vector< float >* m_pMomentumMag;
72 std::vector< float >* m_pMomentumEta;
73 std::vector< float >* m_pMomentumPhi;
74
75
76};
77
78
79} // end of namespace
80
81#endif // TRK_POSITIONMOMENTUMWRITER_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Very simple helper Tool to record track states at certain positions this works only for single track ...
virtual void initializeTrack(const Amg::Vector3D &pos, const Amg::Vector3D &mom, double m, int pdg) override
Initialize State.
std::vector< float > * m_pMomentumMag
std::vector< float > * m_pMomentumEta
virtual StatusCode finalize() override
virtual void finalizeTrack() override
Finalization State.
std::vector< float > * m_pPositionY
std::vector< float > * m_pPositionZ
std::vector< float > * m_pMomentumZ
std::vector< float > * m_pPositionR
PositionMomentumWriter(const std::string &, const std::string &, const IInterface *)
standard AlgTool constructor / destructor
virtual StatusCode initialize() override
standard Athena methods
std::vector< float > * m_pMomentumPhi
std::vector< float > * m_pMomentumX
virtual void recordTrackState(const Amg::Vector3D &pos, const Amg::Vector3D &mom) override
Record a single TrackState.
std::vector< float > * m_pPositionX
std::vector< float > * m_pMomentumY
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.