ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonValidation
MuonTesterTree
Root
CoordTransformBranch.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include <
MuonTesterTree/CoordTransformBranch.h
>
5
namespace
MuonVal
{
6
7
CoordTransformBranch::CoordTransformBranch
(
MuonTesterTree
&
tree
,
const
std::string& vec_name):
8
MuonTesterBranch
(
tree
, vec_name) {}
9
10
bool
CoordTransformBranch::fill
(
const
EventContext&) {
return
true
; }
11
bool
CoordTransformBranch::init
() {
return
true
; }
12
void
CoordTransformBranch::operator=
(
const
Amg::Transform3D
& trans) {
set
(trans); }
13
14
void
CoordTransformBranch::set
(
const
Amg::Transform3D
& trans){
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
21
CoordSystemsBranch::CoordSystemsBranch
(
MuonTesterTree
&
tree
,
const
std::string& vec_name):
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(); }
27
void
CoordSystemsBranch::operator+=
(
const
Amg::Transform3D
& trans) {
push_back
(trans); }
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
}
CoordTransformBranch.h
MuonVal::CoordSystemsBranch::m_linearCol1
MuonVal::UnitThreeVectorBranch m_linearCol1
Definition
CoordTransformBranch.h:40
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::CoordSystemsBranch::push_back
void push_back(const Amg::Transform3D &trans)
Definition
CoordTransformBranch.cxx:28
MuonVal::CoordSystemsBranch::operator+=
void operator+=(const Amg::Transform3D &trans)
Definition
CoordTransformBranch.cxx:27
MuonVal::CoordSystemsBranch::m_translation
MuonVal::ThreeVectorBranch m_translation
Definition
CoordTransformBranch.h:39
MuonVal::CoordSystemsBranch::CoordSystemsBranch
CoordSystemsBranch(MuonTesterTree &tree, const std::string &vec_name)
Definition
CoordTransformBranch.cxx:21
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_linearCol3
MuonVal::UnitThreeVectorBranch m_linearCol3
Definition
CoordTransformBranch.h:42
MuonVal::CoordSystemsBranch::m_linearCol2
MuonVal::UnitThreeVectorBranch m_linearCol2
Definition
CoordTransformBranch.h:41
MuonVal::CoordSystemsBranch::size
size_t size() const
Definition
CoordTransformBranch.cxx:26
MuonVal::CoordSystemsBranch::set
void set(const Amg::Transform3D &trans, size_t pos)
Definition
CoordTransformBranch.cxx:30
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
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::m_transform
ThreeVectorBranch m_transform
Definition
CoordTransformBranch.h:25
MuonVal::CoordTransformBranch::operator=
void operator=(const Amg::Transform3D &vec)
Definition
CoordTransformBranch.cxx:12
MuonVal::CoordTransformBranch::CoordTransformBranch
CoordTransformBranch(MuonTesterTree &tree, const std::string &vec_name)
Definition
CoordTransformBranch.cxx:7
MuonVal::CoordTransformBranch::set
void set(const Amg::Transform3D &vec)
Definition
CoordTransformBranch.cxx:14
MuonVal::MuonTesterBranch::MuonTesterBranch
MuonTesterBranch(MuonTesterTree &tree, const std::string &br_name)
Definition
MuonTesterBranch.cxx:33
MuonVal::MuonTesterBranch::tree
TTree * tree() override final
Returns the underlying TTree object.
Definition
MuonTesterBranch.cxx:53
MuonVal::MuonTesterTree
Definition
MuonTesterTree.h:38
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
MuonVal
Class to store array like branches into the n-tuples.
Definition
HitValAlg.cxx:19
Generated on
for ATLAS Offline Software by
1.17.0