/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
DayaBay::SimTrack Class Reference

Records the history of a tracked particle. More...

#include <SimTrack.h>

Collaboration diagram for DayaBay::SimTrack:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::map< int,
unsigned int > 
descendants_map
 Type for map of unrecorded descendants.
typedef std::vector
< DayaBay::SimVertex * > 
vertex_list
 Type for list of vertices.

Public Member Functions

 SimTrack ()
 Default Constructor.
virtual ~SimTrack ()
 Default Destructor.
unsigned int unrecordedDescendants (int pdg) const
 Get number of unrecordeds for given pdg type.
void incrementUnrecordedDescendants (int pdg)
 Increment number of unrecordeds for given pdg type.
void addVertex (DayaBay::SimVertex *v)
 Add a vertex.
std::ostream & fillStream (std::ostream &s) const
 Print the collection.
int trackId () const
 Retrieve const Geant4 track ID.
void setTrackId (int value)
 Update Geant4 track ID.
int parentParticle () const
 Retrieve const PDG code of the immediate parent to this track.
void setParentParticle (int value)
 Update PDG code of the immediate parent to this track.
const DayaBay::SimTrackReferenceancestorTrack () const
 Retrieve const Reference to the parent or ancestor of this track.
void setAncestorTrack (const DayaBay::SimTrackReference &value)
 Update Reference to the parent or ancestor of this track.
const DayaBay::SimVertexReferenceancestorVertex () const
 Retrieve const Reference to the parent or ancestor of this track.
void setAncestorVertex (const DayaBay::SimVertexReference &value)
 Update Reference to the parent or ancestor of this track.
const HepMC::GenParticleprimaryParticle () const
 Retrieve const Pointer to the ancestor primary kinematics particle.
void setPrimaryParticle (const HepMC::GenParticle *value)
 Update Pointer to the ancestor primary kinematics particle.
int particle () const
 Retrieve const PDG code of this track.
void setParticle (int value)
 Update PDG code of this track.
const vertex_listvertices () const
 Retrieve const Pointers to the vertices along this track.
void setVertices (const vertex_list &value)
 Update Pointers to the vertices along this track.
const descendants_mapunrecordedDescendants () const
 Retrieve const Tally of PDG codes for daughter particles that didn't get their own track.
void setUnrecordedDescendants (const descendants_map &value)
 Update Tally of PDG codes for daughter particles that didn't get their own track.

Static Public Member Functions

static void * operator new (size_t size)
 operator new
static void * operator new (size_t size, void *pObj)
 placement operator new it is needed by libstdc++ 3.2.3 (e.g.
static void operator delete (void *p)
 operator delete
static void operator delete (void *p, void *pObj)
 placement operator delete not sure if really needed, but it does not harm

Private Attributes

int m_trackId
 Geant4 track ID.
int m_parentParticle
 PDG code of the immediate parent to this track.
DayaBay::SimTrackReference m_ancestorTrack
 Reference to the parent or ancestor of this track.
DayaBay::SimVertexReference m_ancestorVertex
 Reference to the parent or ancestor of this track.
const HepMC::GenParticlem_primaryParticle
 Pointer to the ancestor primary kinematics particle.
int m_particle
 PDG code of this track.
vertex_list m_vertices
 Pointers to the vertices along this track. Not owned.
descendants_map m_unrecordedDescendants
 Tally of PDG codes for daughter particles that didn't get their own track.

Detailed Description

Records the history of a tracked particle.

Equivalent to a single G4Track.

Author:
tagg@minos.phy.tufts.edu created Thu Dec 5 18:05:50 2013

Definition at line 45 of file SimTrack.h.


Member Typedef Documentation

typedef std::map<int,unsigned int> DayaBay::SimTrack::descendants_map

Type for map of unrecorded descendants.

Definition at line 50 of file SimTrack.h.

Type for list of vertices.

Definition at line 52 of file SimTrack.h.


Constructor & Destructor Documentation

DayaBay::SimTrack::SimTrack ( ) [inline]

Default Constructor.

Definition at line 55 of file SimTrack.h.

virtual DayaBay::SimTrack::~SimTrack ( ) [inline, virtual]

Default Destructor.

Definition at line 65 of file SimTrack.h.

{}

Member Function Documentation

unsigned int SimTrack::unrecordedDescendants ( int  pdg) const

Get number of unrecordeds for given pdg type.

Return zero if the vector hasn't been expanded to include the type.

Definition at line 27 of file SimTrack.cc.

{
  
  descendants_map::const_iterator it = m_unrecordedDescendants.find(pdg);
  if(it == m_unrecordedDescendants.end()) return 0;
  return it->second;
}
void DayaBay::SimTrack::incrementUnrecordedDescendants ( int  pdg) [inline]

Increment number of unrecordeds for given pdg type.

Definition at line 284 of file SimTrack.h.

void DayaBay::SimTrack::addVertex ( DayaBay::SimVertex v) [inline]

Add a vertex.

Definition at line 291 of file SimTrack.h.

{

          m_vertices.push_back(v);
        
}
std::ostream & SimTrack::fillStream ( std::ostream &  s) const

Print the collection.

Definition at line 6 of file SimTrack.cc.

{
    s << "{ " 
      << "trackId :     " << m_trackId << std::endl
      << "parentParticle :      " << m_parentParticle << std::endl
      << "ancestorTrack :       " << m_ancestorTrack << std::endl
      << "ancestorVertex :      " << m_ancestorVertex << std::endl
      << "particle :    " << m_particle << std::endl
      << "vertices :    " << m_vertices.size() << std::endl
      << "unrecordedDescendants :       " << std::endl 
      << " }";
    for(descendants_map::const_iterator it = m_unrecordedDescendants.begin();
        it != m_unrecordedDescendants.end(); ++it) {
        s << "pdg " << it->first << "(" << it->second << ")" << "  ";
    }
    s << std::endl << " }";
    return s;
}
int DayaBay::SimTrack::trackId ( ) const [inline]

Retrieve const Geant4 track ID.

Definition at line 204 of file SimTrack.h.

{
  return m_trackId;
}
void DayaBay::SimTrack::setTrackId ( int  value) [inline]

Update Geant4 track ID.

Definition at line 209 of file SimTrack.h.

{
  m_trackId = value;
}
int DayaBay::SimTrack::parentParticle ( ) const [inline]

Retrieve const PDG code of the immediate parent to this track.

Definition at line 214 of file SimTrack.h.

{
  return m_parentParticle;
}
void DayaBay::SimTrack::setParentParticle ( int  value) [inline]

Update PDG code of the immediate parent to this track.

Definition at line 219 of file SimTrack.h.

{
  m_parentParticle = value;
}
const DayaBay::SimTrackReference & DayaBay::SimTrack::ancestorTrack ( ) const [inline]

Retrieve const Reference to the parent or ancestor of this track.

Definition at line 224 of file SimTrack.h.

{
  return m_ancestorTrack;
}
void DayaBay::SimTrack::setAncestorTrack ( const DayaBay::SimTrackReference value) [inline]

Update Reference to the parent or ancestor of this track.

Definition at line 229 of file SimTrack.h.

{
  m_ancestorTrack = value;
}
const DayaBay::SimVertexReference & DayaBay::SimTrack::ancestorVertex ( ) const [inline]

Retrieve const Reference to the parent or ancestor of this track.

Definition at line 234 of file SimTrack.h.

{
  return m_ancestorVertex;
}
void DayaBay::SimTrack::setAncestorVertex ( const DayaBay::SimVertexReference value) [inline]

Update Reference to the parent or ancestor of this track.

Definition at line 239 of file SimTrack.h.

{
  m_ancestorVertex = value;
}
const HepMC::GenParticle * DayaBay::SimTrack::primaryParticle ( ) const [inline]

Retrieve const Pointer to the ancestor primary kinematics particle.

Definition at line 244 of file SimTrack.h.

{
  return m_primaryParticle;
}
void DayaBay::SimTrack::setPrimaryParticle ( const HepMC::GenParticle value) [inline]

Update Pointer to the ancestor primary kinematics particle.

Definition at line 249 of file SimTrack.h.

{
  m_primaryParticle = value;
}
int DayaBay::SimTrack::particle ( ) const [inline]

Retrieve const PDG code of this track.

Definition at line 254 of file SimTrack.h.

{
  return m_particle;
}
void DayaBay::SimTrack::setParticle ( int  value) [inline]

Update PDG code of this track.

Definition at line 259 of file SimTrack.h.

{
  m_particle = value;
}
const DayaBay::SimTrack::vertex_list & DayaBay::SimTrack::vertices ( ) const [inline]

Retrieve const Pointers to the vertices along this track.

Not owned.

Definition at line 264 of file SimTrack.h.

{
  return m_vertices;
}
void DayaBay::SimTrack::setVertices ( const vertex_list value) [inline]

Update Pointers to the vertices along this track.

Not owned.

Definition at line 269 of file SimTrack.h.

{
  m_vertices = value;
}
const DayaBay::SimTrack::descendants_map & DayaBay::SimTrack::unrecordedDescendants ( ) const [inline]

Retrieve const Tally of PDG codes for daughter particles that didn't get their own track.

Definition at line 274 of file SimTrack.h.

void DayaBay::SimTrack::setUnrecordedDescendants ( const descendants_map value) [inline]

Update Tally of PDG codes for daughter particles that didn't get their own track.

Definition at line 279 of file SimTrack.h.

static void* DayaBay::SimTrack::operator new ( size_t  size) [inline, static]

operator new

Definition at line 146 of file SimTrack.h.

    {
      return ( sizeof(SimTrack) == size ? 
               boost::singleton_pool<SimTrack, sizeof(SimTrack)>::malloc() :
               ::operator new(size) );
    }
static void* DayaBay::SimTrack::operator new ( size_t  size,
void *  pObj 
) [inline, static]

placement operator new it is needed by libstdc++ 3.2.3 (e.g.

in std::vector) it is not needed in libstdc++ >= 3.4

Definition at line 156 of file SimTrack.h.

    {
      return ::operator new (size,pObj);
    }
static void DayaBay::SimTrack::operator delete ( void *  p) [inline, static]

operator delete

Definition at line 162 of file SimTrack.h.

    {
      boost::singleton_pool<SimTrack, sizeof(SimTrack)>::is_from(p) ?
      boost::singleton_pool<SimTrack, sizeof(SimTrack)>::free(p) :
      ::operator delete(p);
    }
static void DayaBay::SimTrack::operator delete ( void *  p,
void *  pObj 
) [inline, static]

placement operator delete not sure if really needed, but it does not harm

Definition at line 171 of file SimTrack.h.

    {
      ::operator delete (p, pObj);
    }

Member Data Documentation

Geant4 track ID.

Definition at line 180 of file SimTrack.h.

PDG code of the immediate parent to this track.

Definition at line 181 of file SimTrack.h.

Reference to the parent or ancestor of this track.

Definition at line 182 of file SimTrack.h.

Reference to the parent or ancestor of this track.

Definition at line 183 of file SimTrack.h.

Pointer to the ancestor primary kinematics particle.

Definition at line 184 of file SimTrack.h.

PDG code of this track.

Definition at line 185 of file SimTrack.h.

Pointers to the vertices along this track. Not owned.

Definition at line 186 of file SimTrack.h.

Tally of PDG codes for daughter particles that didn't get their own track.

Definition at line 187 of file SimTrack.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:05:28 for SimEvent by doxygen 1.7.4