ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
DetDescrCond
DetDescrCondTPCnv
src
DetCondKeyTransCnv_p1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
DetDescrConditions/DetCondKeyTrans.h
"
6
7
#include "
DetDescrCondTPCnv/DetCondKeyTransCnv_p1.h
"
8
9
#include "CLHEP/Geometry/Transform3D.h"
10
11
namespace
{
12
13
14
class
Transform3DComponents
15
:
public
HepGeom::Transform3D
16
{
17
public
:
18
using
HepGeom::Transform3D::setTransform;
19
};
20
21
22
}
23
24
void
DetCondKeyTransCnv_p1::transToPers
(
const
DetCondKeyTrans
* trans,
DetCondKeyTrans_p1
* pers, MsgStream &
/*log*/
)
25
{
26
size_t
sz
= trans->
keyTrans
().size();
27
pers->
m_trans
.reserve(12*
sz
);
28
29
for
(
const
DetCondKeyTrans::KeyTrans::value_type& transk : trans->
keyTrans
()) {
30
pers->
m_keys
.push_back(transk.first);
31
const
HepGeom::Transform3D& tf = transk.second;
32
pers->
m_trans
.push_back( tf.xx() );
33
pers->
m_trans
.push_back( tf.xy() );
34
pers->
m_trans
.push_back( tf.xz() );
35
pers->
m_trans
.push_back( tf.dx() );
36
37
pers->
m_trans
.push_back( tf.yx() );
38
pers->
m_trans
.push_back( tf.yy() );
39
pers->
m_trans
.push_back( tf.yz() );
40
pers->
m_trans
.push_back( tf.dy() );
41
42
pers->
m_trans
.push_back( tf.zx() );
43
pers->
m_trans
.push_back( tf.zy() );
44
pers->
m_trans
.push_back( tf.zz() );
45
pers->
m_trans
.push_back( tf.dz() );
46
}
47
}
48
49
void
DetCondKeyTransCnv_p1::persToTrans
(
const
DetCondKeyTrans_p1
* pers,
DetCondKeyTrans
* trans, MsgStream &
/*log*/
) {
50
51
// Copy stored vec into map
52
unsigned
int
j = 0;
53
for
(
unsigned
int
i = 0; i < pers->
m_keys
.size(); ++i) {
54
Transform3DComponents tf;
55
tf.setTransform( pers->
m_trans
[j + 0],
// xx
56
pers->
m_trans
[j + 1],
// xy
57
pers->
m_trans
[j + 2],
// xz
58
pers->
m_trans
[j + 3],
// dx
59
60
pers->
m_trans
[j + 4],
// yx
61
pers->
m_trans
[j + 5],
// yy
62
pers->
m_trans
[j + 6],
// yz
63
pers->
m_trans
[j + 7],
// dy
64
65
pers->
m_trans
[j + 8],
// zx
66
pers->
m_trans
[j + 9],
// zy
67
pers->
m_trans
[j + 10],
// zz
68
pers->
m_trans
[j + 11] );
// dz
69
j += 12;
70
trans->
setTransform
(pers->
m_keys
[i], tf);
71
}
72
}
73
DetCondKeyTransCnv_p1.h
DetCondKeyTrans.h
sz
static Double_t sz
Definition
LArPhysWaveHECTool.cxx:37
DetCondKeyTransCnv_p1::persToTrans
virtual void persToTrans(const DetCondKeyTrans_p1 *persObj, DetCondKeyTrans *transObj, MsgStream &log)
Definition
DetCondKeyTransCnv_p1.cxx:49
DetCondKeyTransCnv_p1::transToPers
virtual void transToPers(const DetCondKeyTrans *transObj, DetCondKeyTrans_p1 *persObj, MsgStream &log)
Definition
DetCondKeyTransCnv_p1.cxx:24
DetCondKeyTrans_p1
Definition
DetCondKeyTrans_p1.h:16
DetCondKeyTrans_p1::m_trans
std::vector< double > m_trans
Definition
DetCondKeyTrans_p1.h:21
DetCondKeyTrans_p1::m_keys
std::vector< std::string > m_keys
Definition
DetCondKeyTrans_p1.h:20
DetCondKeyTrans
Class to hold set of HepGeom::Transform3D keyed by string value for storage in the conditions DB typi...
Definition
DetCondKeyTrans.h:27
DetCondKeyTrans::setTransform
void setTransform(const std::string &key, const HepGeom::Transform3D &trans)
Definition
DetCondKeyTrans.h:64
DetCondKeyTrans::keyTrans
const KeyTrans & keyTrans() const
Definition
DetCondKeyTrans.cxx:45
Generated on
for ATLAS Offline Software by
1.17.0