29 m_history(
parent.history()),
41 const HepGeom::Point3D<double>&
pos,
42 const HepGeom::Vector3D<double>&
mom,
60 m_history(
parent.history()),
103 m_position(isfp.position()),
107 m_pdgCode(isfp.pdgCode()),
110 m_history(isfp.history()),
125 m_position(isfp.position()),
129 m_pdgCode(isfp.pdgCode()),
132 m_history(isfp.history()),
135 m_truth(isfp.getTruthBinding()),
136 m_order(isfp.getOrder()),
137 m_userInfo(isfp.getUserInformation()),
138 m_partLink(isfp.getParticleLink())
145 if (m_partLink)
delete m_partLink;
174 m_userInfo =
nullptr;
184 m_momentum = rhs.momentum();
186 m_charge = rhs.charge();
187 m_pdgCode = rhs.pdgCode();
188 m_status = rhs.status();
189 m_tstamp = rhs.timeStamp();
190 m_history = rhs.history();
191 m_barcode = rhs.barcode();
194 m_truth = rhs.getTruthBinding();
196 m_userInfo = rhs.getUserInformation();
197 if (m_partLink)
delete m_partLink;
198 m_partLink = rhs.getParticleLink();
210 double epsilon = 1
e-6;
213 pass &= m_position == rhs.
position();
214 pass &= m_momentum == rhs.
momentum();
215 pass &= std::fabs(m_mass-rhs.
mass()) < epsilon;
216 pass &= std::fabs(m_charge-rhs.
charge()) < epsilon;
217 pass &= m_pdgCode == rhs.
pdgCode();
218 pass &= m_status == rhs.
status();
219 pass &= std::fabs(m_tstamp-rhs.
timeStamp()) < epsilon;
220 pass &= m_history == rhs.
history();
221 pass &= m_barcode == rhs.
barcode();
222 pass &= m_uid == rhs.
id();
225 if (m_truth && rhsTruthPtr) {
226 pass &= *m_truth == *rhsTruthPtr;
228 pass &= m_truth == rhsTruthPtr;
234 if (m_userInfo && rhsUserInfoPtr) {
235 pass &= *m_userInfo == *rhsUserInfoPtr;
237 pass &= m_userInfo == rhsUserInfoPtr;
243 if(m_partLink && rhsPartLinkPtr) {
244 pass &= *m_partLink == *rhsPartLinkPtr;
246 pass &= m_partLink == rhsPartLinkPtr;
255 pass &= m_position == rhs.
position();
256 pass &= m_momentum == rhs.
momentum();
257 pass &= m_mass == rhs.
mass();
258 pass &= m_charge == rhs.
charge();
259 pass &= m_pdgCode == rhs.
pdgCode();
260 pass &= m_status == rhs.
status();
262 pass &= m_history == rhs.
history();
263 pass &= m_barcode == rhs.
barcode();
264 pass &= m_uid == rhs.
id();