ATLAS Offline Software
CoordTransformBranch.cxx
Go to the documentation of this file.
1 /*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
5 namespace MuonVal {
6 
8  MuonTesterBranch(tree, vec_name) {}
9 
10 bool CoordTransformBranch::fill(const EventContext&) { return true; }
11 bool CoordTransformBranch::init() { return true; }
13 
15  m_transform.set(Amg::Vector3D{trans.translation()}, 0);
16  m_transform.set(Amg::Vector3D{trans.linear()*Amg::Vector3D::UnitX()}, 1);
17  m_transform.set(Amg::Vector3D{trans.linear()*Amg::Vector3D::UnitY()}, 2);
18  m_transform.set(Amg::Vector3D{trans.linear()*Amg::Vector3D::UnitZ()}, 3);
19 }
20 
22  MuonTesterBranch(tree, vec_name) {}
23 
24 bool CoordSystemsBranch::fill(const EventContext&) { return true; }
25 bool CoordSystemsBranch::init() { return true; }
26 size_t CoordSystemsBranch::size() const { return m_translation.size(); }
28 void CoordSystemsBranch::push_back(const Amg::Transform3D& trans){ set(trans, size());}
29 
30 void CoordSystemsBranch::set(const Amg::Transform3D& trans, size_t pos) {
31  m_translation.set(Amg::Vector3D{trans.translation()}, pos);
32  m_linearCol1.set(Amg::Vector3D{trans.linear()*Amg::Vector3D::UnitX()}, pos);
33  m_linearCol2.set(Amg::Vector3D{trans.linear()*Amg::Vector3D::UnitY()}, pos);
34  m_linearCol3.set(Amg::Vector3D{trans.linear()*Amg::Vector3D::UnitZ()}, pos);
35 }
36 
37 }
MuonVal::CoordSystemsBranch::fill
bool fill(const EventContext &) override final
The fill method checks if enough information is provided such that the branch is cleared from the inf...
Definition: CoordTransformBranch.cxx:24
MuonVal::CoordSystemsBranch::m_translation
MuonVal::ThreeVectorBranch m_translation
Definition: CoordTransformBranch.h:39
CoordTransformBranch.h
MuonVal::MuonTesterBranch
Definition: MuonTesterBranch.h:21
tree
TChain * tree
Definition: tile_monitor.h:30
MuonVal::CoordSystemsBranch::init
bool init() override final
The init method checks whether the branch name has already registered to the MuonTree and tries then ...
Definition: CoordTransformBranch.cxx:25
MuonVal::CoordTransformBranch::m_transform
ThreeVectorBranch m_transform
Definition: CoordTransformBranch.h:25
MuonVal::CoordSystemsBranch::operator+=
void operator+=(const Amg::Transform3D &trans)
Definition: CoordTransformBranch.cxx:27
MuonVal::CoordTransformBranch::CoordTransformBranch
CoordTransformBranch(MuonTesterTree &tree, const std::string &vec_name)
Definition: CoordTransformBranch.cxx:7
MuonVal::CoordSystemsBranch::m_linearCol2
MuonVal::ThreeVectorBranch m_linearCol2
Definition: CoordTransformBranch.h:41
MuonVal::CoordSystemsBranch::set
void set(const Amg::Transform3D &trans, size_t pos)
Definition: CoordTransformBranch.cxx:30
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
MuonVal::CoordTransformBranch::operator=
void operator=(const Amg::Transform3D &vec)
Definition: CoordTransformBranch.cxx:12
MuonVal::CoordSystemsBranch::size
size_t size() const
Definition: CoordTransformBranch.cxx:26
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
MuonVal::CoordSystemsBranch::m_linearCol3
MuonVal::ThreeVectorBranch m_linearCol3
Definition: CoordTransformBranch.h:42
MuonVal::CoordTransformBranch::set
void set(const Amg::Transform3D &vec)
Definition: CoordTransformBranch.cxx:14
MuonVal
Class to store array like branches into the n-tuples.
Definition: MuonTPMetaDataAlg.cxx:25
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonVal::CoordSystemsBranch::m_linearCol1
MuonVal::ThreeVectorBranch m_linearCol1
Definition: CoordTransformBranch.h:40
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
MuonVal::CoordSystemsBranch::CoordSystemsBranch
CoordSystemsBranch(MuonTesterTree &tree, const std::string &vec_name)
Definition: CoordTransformBranch.cxx:21
MuonVal::ThreeVectorBranch::set
void set(const Amg::Vector3D &vec, size_t pos)
Definition: ThreeVectorBranch.cxx:24
MuonVal::CoordSystemsBranch::push_back
void push_back(const Amg::Transform3D &trans)
Definition: CoordTransformBranch.cxx:28
MuonVal::ThreeVectorBranch::size
size_t size() const
Definition: ThreeVectorBranch.cxx:11
MuonVal::CoordTransformBranch::init
bool init() override final
The init method checks whether the branch name has already registered to the MuonTree and tries then ...
Definition: CoordTransformBranch.cxx:11
MuonVal::CoordTransformBranch::fill
bool fill(const EventContext &) override final
The fill method checks if enough information is provided such that the branch is cleared from the inf...
Definition: CoordTransformBranch.cxx:10