ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
DetDescrCond
DetDescrConditions
src
AlignableTransform.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// AlignableTransform.cxx
6
// simple alignable transform
7
// Richard Hawkings, started 23/9/03
8
9
#include <iostream>
10
#include "
DetDescrConditions/AlignableTransform.h
"
11
12
AlignableTransform::AlignableTransform
(
const
std::string&
tag
) :
13
m_tag
(
tag
),
m_vec
()
14
{}
15
16
void
AlignableTransform::add
(
const
Identifier
& ident,
17
const
HepGeom::Transform3D& trans)
18
{
19
m_vec
.emplace_back(ident,trans);
20
}
21
22
void
AlignableTransform::print
()
const
{
23
std::cout <<
"AlignableTransform::print tagname:"
<<
m_tag
<<
24
" vector size "
<<
m_vec
.size() << std::endl;
25
}
26
27
void
AlignableTransform::print2
()
const
{
28
print
();
29
int
i=0;
30
CLHEP::Hep3Vector trans;
31
for
(
AlignTransMem_citr
cit=
begin
(); cit!=
end
(); ++cit) {
32
trans=(cit->transform()).getTranslation();
33
std::cout <<
"Member "
<< i++ <<
" transl ["
<< trans.x()*1.E3 <<
","
<<
34
trans.y()*1.E3 <<
","
<< trans.z()*1.E3 <<
"]"
<<
" ID: "
<<
35
cit->identify().getString() << std::endl;
36
}
37
}
38
39
bool
AlignableTransform::update
(
const
Identifier
& ident,
40
const
HepGeom::Transform3D& trans)
41
{
42
AlignTransMem_itr
itr=
findIdent
(ident);
43
if
(itr==
m_vec
.end())
return
false
;
44
itr->setTransform(trans);
45
return
true
;
46
}
47
48
bool
AlignableTransform::tweak
(
const
Identifier
& ident,
49
const
HepGeom::Transform3D& trans)
50
{
51
AlignTransMem_itr
itr=
findIdent
(ident);
52
if
(itr==
m_vec
.end())
return
false
;
53
HepGeom::Transform3D newtrans=trans*(itr->transform());
54
itr->setTransform(newtrans);
55
return
true
;
56
}
57
58
AlignableTransform::AlignTransMember::AlignTransMember
() :
59
m_ident
(),
m_trans
()
60
{}
61
62
AlignableTransform::AlignTransMember::AlignTransMember
63
(
const
Identifier
& ident,
const
HepGeom::Transform3D& trans) :
64
m_ident
(ident),
m_trans
(trans)
65
{}
66
67
AlignableTransform.h
AlignableTransform::AlignTransMember::m_ident
Identifier m_ident
Definition
AlignableTransform.h:41
AlignableTransform::AlignTransMember::m_trans
HepGeom::Transform3D m_trans
Definition
AlignableTransform.h:42
AlignableTransform::AlignTransMember::AlignTransMember
AlignTransMember()
Definition
AlignableTransform.cxx:58
AlignableTransform::AlignTransMem_citr
std::vector< AlignTransMember >::const_iterator AlignTransMem_citr
Definition
AlignableTransform.h:46
AlignableTransform::print2
void print2() const
Definition
AlignableTransform.cxx:27
AlignableTransform::add
void add(const Identifier &ident, const HepGeom::Transform3D &trans)
Definition
AlignableTransform.cxx:16
AlignableTransform::print
void print() const
Definition
AlignableTransform.cxx:22
AlignableTransform::end
AlignTransMem_citr end() const
Definition
AlignableTransform.h:106
AlignableTransform::tweak
bool tweak(const Identifier &ident, const HepGeom::Transform3D &trans)
Definition
AlignableTransform.cxx:48
AlignableTransform::AlignableTransform
AlignableTransform()
Definition
AlignableTransform.h:98
AlignableTransform::update
bool update(const Identifier &ident, const HepGeom::Transform3D &trans)
Definition
AlignableTransform.cxx:39
AlignableTransform::m_vec
std::vector< AlignTransMember > m_vec
Definition
AlignableTransform.h:77
AlignableTransform::begin
AlignTransMem_citr begin() const
Definition
AlignableTransform.h:104
AlignableTransform::AlignTransMem_itr
std::vector< AlignTransMember >::iterator AlignTransMem_itr
Definition
AlignableTransform.h:51
AlignableTransform::m_tag
std::string m_tag
Definition
AlignableTransform.h:76
AlignableTransform::tag
const std::string & tag() const
Definition
AlignableTransform.h:134
AlignableTransform::findIdent
AlignTransMem_citr findIdent(const Identifier &ident) const
Definition
AlignableTransform.h:118
Identifier
Definition
IdentifierFieldParser.cxx:14
Generated on
for ATLAS Offline Software by
1.17.0