14 #include "GaudiKernel/MsgStream.h"
20 m_correctionFactor(0.),
21 m_materialProperties(nullptr),
22 m_materialStep(nullptr),
23 m_trackingVolume(nullptr),
28 float steplength,
float X0,
29 float L0,
float A,
float Z,
30 float rho,
float cFactor,
33 : m_materialPosition(hitpos),
34 m_correctionFactor(cFactor),
35 m_materialProperties(nullptr),
38 m_trackingVolume(tvol),
45 : m_materialPosition(hitpos),
46 m_correctionFactor(cFactor),
48 m_materialStep(nullptr),
49 m_trackingVolume(tvol),
56 : m_materialPosition(hitpos),
57 m_correctionFactor(cFactor),
58 m_materialProperties(mprop),
59 m_materialStep(nullptr),
60 m_trackingVolume(tvol),
71 m_correctionFactor(cFactor),
72 m_materialProperties(nullptr),
74 m_trackingVolume(tvol),
81 : m_materialPosition(hitpos),
82 m_correctionFactor(0.),
83 m_materialProperties(nullptr),
84 m_materialStep(nullptr),
85 m_trackingVolume(tvol),
90 : m_materialPosition(am.m_materialPosition),
91 m_correctionFactor(am.m_correctionFactor),
92 m_materialProperties(am.m_cleanup && am.m_materialProperties
93 ? am.m_materialProperties->
clone()
94 : am.m_materialProperties),
95 m_materialStep((am.m_cleanup && am.m_materialStep)
98 m_trackingVolume(am.m_trackingVolume),
100 m_cleanup(am.m_cleanup) {}
104 : m_materialPosition(std::move(am.m_materialPosition)),
105 m_correctionFactor(am.m_correctionFactor),
106 m_materialProperties(am.m_materialProperties),
107 m_materialStep(am.m_materialStep),
108 m_trackingVolume(am.m_trackingVolume),
110 m_cleanup(am.m_cleanup) {
111 am.m_materialProperties =
nullptr;
112 am.m_materialStep =
nullptr;
113 am.m_cleanup =
false;
120 delete m_materialStep;
121 delete m_materialProperties;
140 m_materialPosition = std::move(am.m_materialPosition);
141 m_correctionFactor = am.m_correctionFactor;
142 m_trackingVolume = am.m_trackingVolume;
143 m_layer = am.m_layer;
144 m_cleanup = am.m_cleanup;
146 if (m_materialProperties && m_materialProperties != am.m_materialProperties) {
147 delete m_materialProperties;
149 m_materialProperties = am.m_materialProperties;
150 am.m_materialProperties =
nullptr;
152 if (m_materialStep && m_materialStep != am.m_materialStep) {
153 delete m_materialStep;
155 m_materialStep = am.m_materialStep;
156 am.m_materialStep =
nullptr;
158 am.m_cleanup =
false;
164 delete m_materialStep;
165 delete m_materialProperties;
170 sl <<
"----> AssociatedMaterial - recorded at (x/y/z) | r : ("
171 << m_materialPosition.x() <<
"/ ";
172 sl << m_materialPosition.y() <<
"/ ";
173 sl << m_materialPosition.z() <<
")" << std::endl;
174 sl <<
" Material (t/x0/l0/A/Z/rho) : (" << steplength() <<
"/ ";
179 sl <<
rho() <<
")" << std::endl;
180 if (m_trackingVolume)
181 sl <<
" Associated to TrackingVolume : "
182 << m_trackingVolume->volumeName() << std::endl;
184 sl <<
" and Layer with Index : "
185 << m_layer->layerIndex().value() << std::endl;
190 sl <<
"----> AssociatedMaterial - recorded at (x/y/z) | r : ("
191 << m_materialPosition.x() <<
"/ ";
192 sl << m_materialPosition.y() <<
"/ ";
193 sl << m_materialPosition.z() <<
")" << std::endl;
194 sl <<
" Material (t/x0/l0/A/Z/rho) : (" << steplength() <<
"/ ";
199 sl <<
rho() <<
")" << std::endl;
200 if (m_trackingVolume)
201 sl <<
" Associated to TrackingVolume : "
202 << m_trackingVolume->volumeName() << std::endl;
204 sl <<
" and Layer with Index : "
205 << m_layer->layerIndex().value() << std::endl;
211 return mstep.
dump(sl);
216 return mstep.
dump(sl);