| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

GaussTrackActionBase.h

Go to the documentation of this file.
00001 // $Id: GaussTrackActionBase.h,v 1.5 2007/03/18 19:16:12 gcorti Exp $
00002 #ifndef GAUSSTOOLS_GAUSSTRACKACTIONBASE_H 
00003 #define GAUSSTOOLS_GAUSSTRACKACTIONBASE_H 1
00004 // Include files
00005 
00006 // from Gaudi
00007 #include "GaudiKernel/Kernel.h"
00008 
00009 // from GiGa 
00010 #include "GiGa/GiGaTrackActionBase.h"
00011 
00012 // Forward declaration
00013 class GaussTrajectory       ;
00014 class GaussTrackInformation ;
00015 
00023 class GaussTrackActionBase : public GiGaTrackActionBase 
00024 {
00025 public:
00026   
00034   virtual StatusCode initialize () ; 
00035   
00043   virtual StatusCode finalize   () ;
00044   
00045 protected:
00046   
00055   GaussTrackActionBase
00056   ( const std::string& type   ,
00057     const std::string& name   ,
00058     const IInterface*  parent ) ;
00059   
00061   virtual ~GaussTrackActionBase();
00062   
00063 private:
00064   
00065   // default constructor   is disabled 
00066   GaussTrackActionBase() ; 
00067   // copy    constructor   is disabled 
00068   GaussTrackActionBase           ( const GaussTrackActionBase& ) ; 
00069   // assignement operator  is disabled 
00070   GaussTrackActionBase& operator=( const GaussTrackActionBase& ) ;
00071   
00072 protected:
00073   
00074   // get the valid Gauss Trajectory
00075   GaussTrajectory*       trajectory    () const ;
00076   // get the valid Gauss tarck information 
00077   GaussTrackInformation* trackInfo     () const ;
00078   // get the valid Gauss tarck information 
00079   GaussTrackInformation* trackInfo     ( G4Track*  track ) const ;
00080   // store children tracks 
00081   StatusCode             storeChildren () const ;
00082   
00083 protected :
00084 
00085   // mark information "to be stored" and increment 
00086   // the flag counter 
00087   StatusCode mark ( GaussTrackInformation* info ) const ;
00088   
00089 private:
00090   
00091   // 'long' counter 
00092   typedef ulonglong UCounter        ;
00093   // counter for all created trajectories 
00094   mutable UCounter  m_nTrajectories ;
00095   // counter for all created track information objects 
00096   mutable UCounter  m_nTrackInfos   ;
00097   // counter of "decisions"
00098   mutable size_t    m_marked        ;
00099   
00100 };
00101 
00102 
00103 #endif // GAUSSTOOLS_GAUSSTRACKACTIONBASE_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:04:15 2011 for GaussTools by doxygen 1.4.7