#include <Flow.h>
Collaboration diagram for HepMC::Flow:
Public Types | |
typedef std::map< int, int >::iterator | iterator |
iterator for flow pattern container | |
typedef std::map< int, int >::const_iterator | const_iterator |
const iterator for flow pattern container | |
Public Member Functions | |
Flow (GenParticle *particle_owner=0) | |
default constructor | |
Flow (const Flow &) | |
copy | |
virtual | ~Flow () |
void | swap (Flow &other) |
swap | |
Flow & | operator= (const Flow &) |
make a copy | |
bool | operator== (const Flow &a) const |
equality | |
bool | operator!= (const Flow &a) const |
inequality | |
void | print (std::ostream &ostr=std::cout) const |
print Flow information to ostr | |
std::vector< HepMC::GenParticle * > | connected_partners (int code, int code_index=1, int num_indices=2) const |
returns all connected particles which have "code" in any of the num_indices beginning with index code_index. | |
std::vector< HepMC::GenParticle * > | dangling_connected_partners (int code, int code_index=1, int num_indices=2) const |
same as connected_partners, but returns only those particles which are connected to <=1 other particles (i.e. | |
const GenParticle * | particle_owner () const |
find particle owning this Flow | |
int | icode (int code_index=1) const |
flow code | |
Flow | set_icode (int code_index, int code) |
set flow code | |
Flow | set_unique_icode (int code_index=1) |
set unique flow code | |
bool | empty () const |
return true if there is no flow container | |
int | size () const |
size of flow pattern container | |
void | clear () |
clear flow patterns | |
bool | erase (int code_index) |
empty flow pattern container | |
iterator | begin () |
beginning of flow pattern container | |
iterator | end () |
end of flow pattern container | |
const_iterator | begin () const |
beginning of flow pattern container | |
const_iterator | end () const |
end of flow pattern container | |
Protected Member Functions | |
void | connected_partners (std::vector< HepMC::GenParticle * > *output, int code, int code_index, int num_indices) const |
for internal use only | |
void | dangling_connected_partners (std::vector< HepMC::GenParticle * > *output, std::vector< HepMC::GenParticle * > *visited_particles, int code, int code_index, int num_indices) const |
for internal use only | |
Private Attributes | |
GenParticle * | m_particle_owner |
std::map< int, int > | m_icode |
Friends | |
std::ostream & | operator<< (std::ostream &ostr, const Flow &f) |
for printing |
color flow, charge flow, lepton number flow, ...) Flow patterns are coded with an integer, in the same manner as in Herwig.
Definition at line 66 of file Flow.h.
typedef std::map<int,int>::iterator HepMC::Flow::iterator |
typedef std::map<int,int>::const_iterator HepMC::Flow::const_iterator |
HepMC::Flow::Flow | ( | GenParticle * | particle_owner = 0 |
) |
default constructor
HepMC::Flow::Flow | ( | const Flow & | ) |
copy
virtual HepMC::Flow::~Flow | ( | ) | [virtual] |
void HepMC::Flow::swap | ( | Flow & | other | ) |
swap
bool HepMC::Flow::operator== | ( | const Flow & | a | ) | const [inline] |
bool HepMC::Flow::operator!= | ( | const Flow & | a | ) | const [inline] |
void HepMC::Flow::print | ( | std::ostream & | ostr = std::cout |
) | const |
print Flow information to ostr
std::vector<HepMC::GenParticle*> HepMC::Flow::connected_partners | ( | int | code, | |
int | code_index = 1 , |
|||
int | num_indices = 2 | |||
) | const |
returns all connected particles which have "code" in any of the num_indices beginning with index code_index.
std::vector<HepMC::GenParticle*> HepMC::Flow::dangling_connected_partners | ( | int | code, | |
int | code_index = 1 , |
|||
int | num_indices = 2 | |||
) | const |
same as connected_partners, but returns only those particles which are connected to <=1 other particles (i.e.
the flow line "dangles" at these particles)
const GenParticle * HepMC::Flow::particle_owner | ( | ) | const [inline] |
find particle owning this Flow
Definition at line 160 of file Flow.h.
00160 { 00161 return m_particle_owner; 00162 }
int HepMC::Flow::icode | ( | int | code_index = 1 |
) | const [inline] |
Flow HepMC::Flow::set_icode | ( | int | code_index, | |
int | code | |||
) | [inline] |
Flow HepMC::Flow::set_unique_icode | ( | int | code_index = 1 |
) | [inline] |
bool HepMC::Flow::empty | ( | ) | const [inline] |
int HepMC::Flow::size | ( | ) | const [inline] |
void HepMC::Flow::clear | ( | ) | [inline] |
bool HepMC::Flow::erase | ( | int | code_index | ) | [inline] |
Flow::iterator HepMC::Flow::begin | ( | ) | [inline] |
Flow::iterator HepMC::Flow::end | ( | ) | [inline] |
Flow::const_iterator HepMC::Flow::begin | ( | ) | const [inline] |
Flow::const_iterator HepMC::Flow::end | ( | ) | const [inline] |
void HepMC::Flow::connected_partners | ( | std::vector< HepMC::GenParticle * > * | output, | |
int | code, | |||
int | code_index, | |||
int | num_indices | |||
) | const [protected] |
for internal use only
void HepMC::Flow::dangling_connected_partners | ( | std::vector< HepMC::GenParticle * > * | output, | |
std::vector< HepMC::GenParticle * > * | visited_particles, | |||
int | code, | |||
int | code_index, | |||
int | num_indices | |||
) | const [protected] |
for internal use only
std::ostream& operator<< | ( | std::ostream & | ostr, | |
const Flow & | f | |||
) | [friend] |
for printing
GenParticle* HepMC::Flow::m_particle_owner [private] |
std::map<int,int> HepMC::Flow::m_icode [private] |