ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetEventCnv
InDetEventTPCnv
src
InDetCompetingRIOsOnTrack
CompetingTRT_DriftCirclesOnTrackCnv_p1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//-----------------------------------------------------------------------------
6
//
7
// file: InDetCompetingRIOsOnTrackCnv_p1.cxx
8
//
9
//-----------------------------------------------------------------------------
10
11
#include "
InDetCompetingRIOsOnTrack/CompetingTRT_DriftCirclesOnTrack.h
"
12
#include "
InDetEventTPCnv/InDetCompetingRIOsOnTrack/CompetingTRT_DriftCirclesOnTrackCnv_p1.h
"
13
#include "
InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h
"
14
#include "
TrkMeasurementBase/MeasurementBase.h
"
15
#include "
TrkRIO_OnTrack/RIO_OnTrack.h
"
16
#include "
TrkSurfaces/Surface.h
"
17
18
19
void
20
CompetingTRT_DriftCirclesOnTrackCnv_p1::persToTrans
(
const
InDet::CompetingTRT_DriftCirclesOnTrack_p1
*persObj,
21
InDet::CompetingTRT_DriftCirclesOnTrack
*transObj,
22
MsgStream &log )
23
{
24
auto
containedChildRots = std::vector< const InDet::TRT_DriftCircleOnTrack * >{};
25
26
for
(
const
TPObjRef
&
ref
: persObj->
m_containedChildRots
) {
27
ITPConverterFor<Trk::MeasurementBase>
*rotCnv =
nullptr
;
28
const
InDet::TRT_DriftCircleOnTrack
* mcot =
dynamic_cast<
const
InDet::TRT_DriftCircleOnTrack
*
>
(
createTransFromPStore
(&rotCnv,
ref
, log));
29
containedChildRots.push_back( mcot );
30
}
31
32
ITPConverterFor<Trk::Surface>
*surfaceCnv =
nullptr
;
33
Trk::Surface
* associatedSurface =
createTransFromPStore
(&surfaceCnv, persObj->
m_associatedSurface
, log);
34
35
*transObj =
InDet::CompetingTRT_DriftCirclesOnTrack
(associatedSurface,
36
std::move(containedChildRots),
37
std::vector<double>{},
38
{},
39
{},
40
0);
41
42
fillTransFromPStore
( &
m_cRotCnv
, persObj->
m_competingROT
, transObj, log );
43
}
44
45
void
46
CompetingTRT_DriftCirclesOnTrackCnv_p1::transToPers
(
const
InDet::CompetingTRT_DriftCirclesOnTrack
*transObj,
47
InDet::CompetingTRT_DriftCirclesOnTrack_p1
*persObj,
48
MsgStream &log )
49
{
50
persObj->
m_competingROT
=
baseToPersistent
( &
m_cRotCnv
, transObj, log );
51
52
for
(
const
InDet::TRT_DriftCircleOnTrack
* cl : transObj->
containedROTs
()) {
53
ITPConverterFor<Trk::MeasurementBase>
*rotCnv =
nullptr
;
54
persObj->
m_containedChildRots
.push_back(
toPersistent
(&rotCnv, cl, log) );
55
}
56
57
ITPConverterFor<Trk::Surface>
*surfaceCnv =
nullptr
;
58
persObj->
m_associatedSurface
=
toPersistent
(&surfaceCnv, &transObj->
associatedSurface
(), log);
59
60
}
61
62
ref
const std::regex ref(r_ef)
CompetingTRT_DriftCirclesOnTrackCnv_p1.h
CompetingTRT_DriftCirclesOnTrack.h
MeasurementBase.h
RIO_OnTrack.h
Surface.h
TRT_DriftCircleOnTrack.h
CompetingTRT_DriftCirclesOnTrackCnv_p1::transToPers
virtual void transToPers(const InDet::CompetingTRT_DriftCirclesOnTrack *transObj, InDet::CompetingTRT_DriftCirclesOnTrack_p1 *persObj, MsgStream &log)
Definition
CompetingTRT_DriftCirclesOnTrackCnv_p1.cxx:46
CompetingTRT_DriftCirclesOnTrackCnv_p1::m_cRotCnv
CompetingRIOsOnTrackCnv_p1 * m_cRotCnv
Definition
CompetingTRT_DriftCirclesOnTrackCnv_p1.h:38
CompetingTRT_DriftCirclesOnTrackCnv_p1::persToTrans
virtual void persToTrans(const InDet::CompetingTRT_DriftCirclesOnTrack_p1 *persObj, InDet::CompetingTRT_DriftCirclesOnTrack *transObj, MsgStream &log)
Definition
CompetingTRT_DriftCirclesOnTrackCnv_p1.cxx:20
ITPConverterFor< TRANS_BASE >::baseToPersistent
TPObjRef baseToPersistent(CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
Definition
TPConverter.h:97
ITPConverterFor< TRANS_BASE >::createTransFromPStore
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
Definition
TPConverter.h:172
ITPConverterFor< TRANS_BASE >::fillTransFromPStore
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
Definition
TPConverter.h:145
ITPConverterFor< TRANS_BASE >::toPersistent
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
Definition
TPConverter.h:119
ITPConverterFor< TRANS_BASE >::ITPConverterFor
ITPConverterFor()
Definition
TPConverter.h:43
InDet::CompetingTRT_DriftCirclesOnTrack_p1
Version 1 of the persistent class representing the transient class InDet::CompetingTRT_DriftCirclesOn...
Definition
CompetingTRT_DriftCirclesOnTrack_p1.h:17
InDet::CompetingTRT_DriftCirclesOnTrack_p1::m_competingROT
TPObjRef m_competingROT
link to base CompetingRIOsOnTrack
Definition
CompetingTRT_DriftCirclesOnTrack_p1.h:22
InDet::CompetingTRT_DriftCirclesOnTrack_p1::m_associatedSurface
TPObjRef m_associatedSurface
Definition
CompetingTRT_DriftCirclesOnTrack_p1.h:25
InDet::CompetingTRT_DriftCirclesOnTrack_p1::m_containedChildRots
std::vector< TPObjRef > m_containedChildRots
Definition
CompetingTRT_DriftCirclesOnTrack_p1.h:24
InDet::CompetingTRT_DriftCirclesOnTrack
Class for competing TRT_DriftCircles, it extends the Trk::CompetingRIOsOnTrack base class.
Definition
CompetingTRT_DriftCirclesOnTrack.h:48
InDet::CompetingTRT_DriftCirclesOnTrack::associatedSurface
const Trk::Surface & associatedSurface() const
returns the surface for the local to global transformation .
Definition
CompetingTRT_DriftCirclesOnTrack.h:141
InDet::CompetingTRT_DriftCirclesOnTrack::containedROTs
const std::vector< const InDet::TRT_DriftCircleOnTrack * > & containedROTs() const
returns the vector of TRT_DriftCircleOnTrack objects .
Definition
CompetingTRT_DriftCirclesOnTrack.h:147
InDet::TRT_DriftCircleOnTrack
Represents 'corrected' measurements from the TRT (for example, corrected for wire sag).
Definition
TRT_DriftCircleOnTrack.h:53
TPObjRef
This class is an object reference used in Athena persistent data model.
Definition
TPObjRef.h:20
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Generated on
for ATLAS Offline Software by
1.17.0