18#include "CLHEP/Units/SystemOfUnits.h"
19#include "CLHEP/Units/PhysicalConstants.h"
66 declareProperty(
"ValidationStreamName",
68 "Name of the output stream" );
69 declareProperty(
"THistService",
97 const char *treeName=
"particles";
126 const char *treeNameInt=
"interactions";
149 return StatusCode::SUCCESS;
237 double time,
double dX0 )
const {
299 unsigned int nSec = children.size();
301 int iPrimSurv = primOut ? 1 : 0;
304 m_gen_mother = parent.getUserInformation()? parent.getUserInformation()->generation() : 0;
319 m_oa_child[0] = primOut->unit().dot( primIn.unit() );
324 for (
unsigned int isec=0; isec< nSec; isec++) {
326 m_pdg_child[isec+iPrimSurv] = children[isec]->pdgCode();
328 m_oa_child[isec+iPrimSurv] = children[isec]->momentum().unit().dot( primIn.unit() );
330 pbal -= children[isec]->momentum();
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
The generic ISF particle definition,.
const ParticleUserInformation * getUserInformation() const
get/set ParticleUserInformation
const Amg::Vector3D & momentum() const
The current momentum vector of the ISFParticle.
double timeStamp() const
Timestamp of the ISFParticle.
const Amg::Vector3D & position() const
The current position of the ISFParticle.
int pdgCode() const
PDG value.
AtlasDetDescr::AtlasRegion nextGeoID() const
next geoID the particle will be simulated in
const Amg::Vector3D & momentum() const
Access method for the momentum.
const Amg::Vector3D & position() const
Access method for the position.
const std::string process
Eigen::Matrix< double, 3, 1 > Vector3D
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
ParametersBase< TrackParametersDim, Charged > TrackParameters