ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDMaker
D3PDMakerTest
src
HitsFillerAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// $Id$
14
15
16
#include "
HitsFillerAlg.h
"
17
#include "
MuonSimEvent/MDTSimHitCollection.h
"
18
#include "
MuonSimEvent/MDTSimHit.h
"
19
#include "
TrackRecord/TrackRecordCollection.h
"
20
#include "
TrackRecord/TrackRecord.h
"
21
#include "CLHEP/Vector/ThreeVector.h"
22
#include "
AthenaKernel/errorcheck.h
"
23
24
25
namespace
D3PDTest
{
26
27
33
HitsFillerAlg::HitsFillerAlg
(
const
std::string& name,
34
ISvcLocator* svcloc)
35
:
AthAlgorithm
(name, svcloc),
36
m_count
(0)
37
{
38
declareProperty
(
"MDTSimHitName"
,
m_MDTSimHitName
=
"MDTSimHits"
);
39
declareProperty
(
"TrackRecordName"
,
m_TrackRecordName
=
"TrackRecord"
);
40
}
41
42
46
StatusCode
HitsFillerAlg::initialize
()
47
{
48
m_count
= 0;
49
return
AthAlgorithm::initialize();
50
}
51
52
56
StatusCode
HitsFillerAlg::finalize
()
57
{
58
return
AthAlgorithm::finalize();
59
}
60
61
65
StatusCode
HitsFillerAlg::fillMDTSimHitCollection
()
66
{
67
MDTSimHitCollection
* c =
new
MDTSimHitCollection
(
m_MDTSimHitName
);
68
69
for
(
int
i = 0; i < 10; i++) {
70
int
j = i * 10 +
m_count
;
71
MDTSimHit
h
(j,
72
j+10,
// time
73
j+11,
// radius
74
Amg::Vector3D
(j+12,j+13,j+14),
//position
75
j+15,
// trackNumber
76
j+16,
// stepLength
77
j+17,
// energyDeposit
78
j+18,
// particleEncoding,
79
j+19
// kineticEnergy
80
);
81
c->push_back (
h
);
82
}
83
84
CHECK
( this->
evtStore
()->record (c,
m_MDTSimHitName
) );
85
86
return
StatusCode::SUCCESS;
87
}
88
89
93
StatusCode
HitsFillerAlg::fillTrackRecordCollection
()
94
{
95
TrackRecordCollection
* c =
new
TrackRecordCollection
(
m_TrackRecordName
);
96
97
for
(
int
i = 0; i < 10; i++) {
98
int
j = i * 10 +
m_count
;
99
CLHEP::Hep3Vector p(j+11,j+12,j+13);
100
CLHEP::Hep3Vector
x
(j+14,j+15,j+16);
101
c->Emplace(j,
// PDG
102
j+20,
// status
103
(j+10)*1000,
// energy
104
p,
//position
105
x
,
//momentum
106
j+17,
// time
107
j+18,
// barcode
108
j+19,
// id
109
"volname"
// volume name
110
);
111
}
112
113
CHECK
( this->
evtStore
()->record (c,
m_TrackRecordName
) );
114
115
return
StatusCode::SUCCESS;
116
}
117
118
122
StatusCode
HitsFillerAlg::execute
(
const
EventContext&
/*ctx*/
)
123
{
124
CHECK
(
fillMDTSimHitCollection
() );
125
CHECK
(
fillTrackRecordCollection
() );
126
127
++
m_count
;
128
return
StatusCode::SUCCESS;
129
}
130
131
132
}
// namespace D3PDTest
errorcheck.h
Helpers for checking error return status codes and reporting errors.
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
HitsFillerAlg.h
Put objects into StoreGate to test D3PD maker.
MDTSimHitCollection.h
MDTSimHitCollection
AtlasHitsVector< MDTSimHit > MDTSimHitCollection
Definition
MDTSimHitCollection.h:14
MDTSimHit.h
TrackRecordCollection.h
TrackRecordCollection
AtlasHitsVector< TrackRecord > TrackRecordCollection
Definition
TrackRecordCollection.h:12
TrackRecord.h
x
#define x
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
AthCommonAlgorithm< Gaudi::Algorithm >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition
AthCommonDataStore.h:145
AthCommonAlgorithm< Gaudi::Algorithm >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
Definition
AthCommonDataStore.h:85
h
Header file for AthHistogramAlgorithm.
D3PDTest::HitsFillerAlg::m_MDTSimHitName
std::string m_MDTSimHitName
Definition
HitsFillerAlg.h:67
D3PDTest::HitsFillerAlg::fillTrackRecordCollection
StatusCode fillTrackRecordCollection()
Fill a TrackRecordCollection.
Definition
HitsFillerAlg.cxx:93
D3PDTest::HitsFillerAlg::execute
virtual StatusCode execute(const EventContext &ctx)
Standard Gaudi execute method.
Definition
HitsFillerAlg.cxx:122
D3PDTest::HitsFillerAlg::m_count
int m_count
Definition
HitsFillerAlg.h:70
D3PDTest::HitsFillerAlg::HitsFillerAlg
HitsFillerAlg(const std::string &name, ISvcLocator *svcloc)
Standard Gaudi algorithm constructor.
Definition
HitsFillerAlg.cxx:33
D3PDTest::HitsFillerAlg::m_TrackRecordName
std::string m_TrackRecordName
Definition
HitsFillerAlg.h:68
D3PDTest::HitsFillerAlg::finalize
virtual StatusCode finalize()
Standard Gaudi finalize method.
Definition
HitsFillerAlg.cxx:56
D3PDTest::HitsFillerAlg::initialize
virtual StatusCode initialize()
Standard Gaudi initialize method.
Definition
HitsFillerAlg.cxx:46
D3PDTest::HitsFillerAlg::fillMDTSimHitCollection
StatusCode fillMDTSimHitCollection()
Fill a MDTSimHitCollection.
Definition
HitsFillerAlg.cxx:65
MDTSimHit
Definition
MDTSimHit.h:21
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
D3PDTest
Definition
MapDumper.h:25
Generated on
for ATLAS Offline Software by
1.17.0