ATLAS Offline Software
Loading...
Searching...
No Matches
TransformNtupleBranch.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#include <TTree.h>
8
9namespace Trk {
10
11 void TransformNtupleBranch::initForWrite(TTree& tree, std::string_view prefix ){
12 m_rotation.initForWrite(tree,"rot",3,3,prefix);
13 m_translation.initForWrite(tree,"trans",3,prefix);
14 }
15
16 void TransformNtupleBranch::initForRead(TTree& tree, std::string_view prefix ) {
17 m_rotation.initForRead(tree,"rot",3,3,prefix);
18 m_translation.initForRead(tree,"trans",3,prefix);
19 }
20
21
22
24 Amg::Vector3D translation = transform.translation();
25 Amg::RotationMatrix3D rotation = transform.rotation();
26
27 m_rotation.fill(rotation);
28 m_translation.fill(translation);
29 }
30
31 void TransformNtupleBranch::fill( const HepGeom::Transform3D& transform ) {
32 m_rotation.fill(transform.getRotation());
33 m_translation.fill(transform.getTranslation());
34 }
35}
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
void initForRead(TTree &tree, std::string_view prefix="")
initialize class for reading
void fill(const Amg::Transform3D &transform)
fill a transform
void initForWrite(TTree &tree, std::string_view prefix="")
initialize class for writing
MatrixNtupleBranch m_rotation
data
TChain * tree