15 : position_(
p), inVolume_(inVolume), eId_(eId) {
57 typedef std::vector<SimVertex>::const_iterator
g4v_iterator;
59 typedef std::vector<SimTrack>::const_iterator
g4t_iterator;
61 s <<
"Vertex Position & Event #" <<
v.position() <<
" " <<
v.eventId().bunchCrossing() <<
"." <<
v.eventId().event()
63 s <<
" Associated with " <<
v.daughterTracks().size() <<
" tracks" << endl;
64 for (
genv_iterator genV =
v.genVertices_begin(); genV !=
v.genVertices_end(); ++genV) {
65 s <<
" HepMC vertex position " << (*(*genV)).
position().x() <<
"," << (*(*genV)).
position().y()
66 << (*(*genV)).
position().z() << endl;
69 for (
g4v_iterator g4V =
v.g4Vertices_begin(); g4V !=
v.g4Vertices_end(); ++g4V) {
70 s <<
" Geant vertex position " << (*g4V).position() << endl;
75 for (
tp_iterator iTP =
v.daughterTracks_begin(); iTP !=
v.daughterTracks_end(); ++iTP) {
76 s <<
" Daughter starts: " << (*(*iTP)).
vertex();
77 for (
g4t_iterator g4T = (*(*iTP)).g4Track_begin(); g4T != (*(*iTP)).g4Track_end(); ++g4T) {
78 s <<
" p " << g4T->momentum();
84 for (
tp_iterator iTP =
v.sourceTracks_begin(); iTP !=
v.sourceTracks_end(); ++iTP) {
85 s <<
" Source starts: " << (*(*iTP)).
vertex();
86 for (
g4t_iterator g4T = (*iTP)->g4Track_begin(); g4T != (*iTP)->g4Track_end(); ++g4T) {
87 s <<
", p " << g4T->momentum();
edm::Ref< edm::HepMCProduct, HepMC::GenVertex > GenVertexRef
TrackingVertex::g4v_iterator g4v_iterator
std::vector< SimVertex >::const_iterator g4v_iterator
tp_iterator sourceTracks_end() const
void addDaughterTrack(const TrackingParticleRef &)
void clearDaughterTracks()
tp_iterator daughterTracks_begin() const
void addParentTrack(const TrackingParticleRef &)
void addG4Vertex(const SimVertex &)
math::XYZTLorentzVectorD LorentzVector
TrackingParticleRefVector daughterTracks_
std::ostream & operator<<(std::ostream &s, const TrackingVertex &v)
TrackingVertex::genv_iterator genv_iterator
GenVertexRefVector genVertices_
genv_iterator genVertices_end() const
const TrackingParticleRefVector & sourceTracks() const
void clear()
Clear the vector.
const_iterator end() const
Termination of iteration.
std::vector< SimVertex > g4Vertices_
const TrackingParticleRefVector & daughterTracks() const
tp_iterator sourceTracks_begin() const
void addGenVertex(const GenVertexRef &)
edm::RefVector< edm::HepMCProduct, HepMC::GenVertex > GenVertexRefVector
tp_iterator daughterTracks_end() const
const std::vector< SimVertex > & g4Vertices() const
static int position[264][3]
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
TrackingParticleRefVector::iterator tp_iterator
g4v_iterator g4Vertices_end() const
TrackingParticleRefVector sourceTracks_
const_iterator begin() const
Initialize an iterator over the RefVector.
genv_iterator genVertices_begin() const
g4v_iterator g4Vertices_begin() const
const GenVertexRefVector & genVertices() const
TrackingParticle::g4t_iterator g4t_iterator