CMS 3D CMS Logo

VisHepMCParticleTree.h

Go to the documentation of this file.
00001 // HEADER FILE
00002 
00003 
00004 #ifndef HEP_MC_PARTICLE_TREE_H
00005 # define HEP_MC_PARTICLE_TREE_H
00006 
00007 //<<<<<< INCLUDES                                                       >>>>>>
00008 
00009 # include <vector>
00010 
00011 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00012 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00013 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00014 
00015 class SimTrack;
00016 class SoSeparator;
00017 
00018 namespace HepMC 
00019 {
00020     class GenParticle;
00021 }
00022 
00023 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00024 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00025 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00026 
00027 class HepMCParticleTree
00028 {
00029 public:
00030     
00031     HepMCParticleTree (void) {};
00032     HepMCParticleTree (std::vector<HepMC::GenParticle *> particles);
00033     HepMCParticleTree (HepMC::GenParticle *particle);
00034     ~HepMCParticleTree (void);    
00035     // implicit copy constructor
00036     // implicit assignment operator
00037     // implicit destructor
00038 
00039     void makeSeparatorTree (SoSeparator *separator, const float mx, const float my, const float mz);
00040  
00041 private:
00042     HepMC::GenParticle                 *m_particle;
00043     std::vector<HepMCParticleTree *>    m_daughters;   
00044   
00045     float recursiveMakeSeparatorTree (SoSeparator *separator, float x, float *nextY, float z);
00046 };
00047 
00048 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00049 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00050 
00051 #endif // VIS_TRACKER_RECO_VIS_SIM_TRACKS_TREE_H

Generated on Tue Jun 9 17:50:29 2009 for CMSSW by  doxygen 1.5.4