CMS 3D CMS Logo

HepMCParticleTree Class Reference

#include <VisSimulation/VisSimData/interface/VisHepMCParticleTree.h>

List of all members.

Public Member Functions

 HepMCParticleTree (HepMC::GenParticle *particle)
 HepMCParticleTree (std::vector< HepMC::GenParticle * > particles)
 HepMCParticleTree (void)
void makeSeparatorTree (SoSeparator *separator, const float mx, const float my, const float mz)
 ~HepMCParticleTree (void)

Private Member Functions

float recursiveMakeSeparatorTree (SoSeparator *separator, float x, float *nextY, float z)

Private Attributes

std::vector< HepMCParticleTree * > m_daughters
HepMC::GenParticle * m_particle


Detailed Description

Definition at line 27 of file VisHepMCParticleTree.h.


Constructor & Destructor Documentation

HepMCParticleTree::HepMCParticleTree ( void   )  [inline]

Definition at line 31 of file VisHepMCParticleTree.h.

Referenced by HepMCParticleTree().

00031 {};

HepMCParticleTree::HepMCParticleTree ( std::vector< HepMC::GenParticle * >  particles  ) 

Definition at line 19 of file VisHepMCParticleTree.cc.

References HepMCParticleTree(), and iter.

00020 {    
00021     std::vector<HepMCParticleTree* > mapping (particles.size ());    
00022     std::vector<HepMCParticleTree* >::iterator itdt = mapping.begin ();
00023 
00024     for (std::vector<HepMC::GenParticle* >::iterator iter = particles.begin ();
00025            iter != particles.end (); 
00026            iter++ )
00027     {
00028         (*itdt) = new HepMCParticleTree (*iter);
00029         itdt ++;
00030     }
00031     
00032     for (std::vector<HepMCParticleTree* >::iterator idt = mapping.begin (); idt != mapping.end (); idt++)
00033     {
00034 //         if ((*idt)->m_particle->vertex ().hasParent ())
00035 //      {
00036 //          mapping[(*idt)->m_particle->vertex ().mother ().id () ]->m_daughters.push_back (*idt);
00037 //      } 
00038 //      else 
00039 //      {
00040 //          m_daughters.push_back (*idt);
00041 //      }
00042     }
00043 }

HepMCParticleTree::HepMCParticleTree ( HepMC::GenParticle *  particle  ) 

Definition at line 45 of file VisHepMCParticleTree.cc.

00046     : m_particle (particle)
00047 {}

HepMCParticleTree::~HepMCParticleTree ( void   ) 

Definition at line 49 of file VisHepMCParticleTree.cc.

References m_daughters.

00050 {
00051     if (m_daughters.size () != 0)
00052         for (std::vector<HepMCParticleTree* >::iterator idt = m_daughters.begin (); 
00053              idt != m_daughters.end ();
00054              idt++)
00055         {
00056             delete (*idt);
00057         }
00058 }


Member Function Documentation

void HepMCParticleTree::makeSeparatorTree ( SoSeparator *  separator,
const float  mx,
const float  my,
const float  mz 
)

float HepMCParticleTree::recursiveMakeSeparatorTree ( SoSeparator *  separator,
float  x,
float *  nextY,
float  z 
) [private]


Member Data Documentation

std::vector<HepMCParticleTree *> HepMCParticleTree::m_daughters [private]

Definition at line 43 of file VisHepMCParticleTree.h.

Referenced by ~HepMCParticleTree().

HepMC::GenParticle* HepMCParticleTree::m_particle [private]

Definition at line 42 of file VisHepMCParticleTree.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:24:10 2009 for CMSSW by  doxygen 1.5.4