Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

TestTrackViewer.h

Go to the documentation of this file.
00001 // ================================================
00002 // TestTrackViewer class descriptionn
00003 // ================================================
00004 //
00005 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
00006 //
00007 // Namespace Atlfast::
00008 //
00009 // class: TestTrackViewer
00010 //
00011 // Description: 
00012 //
00013 //  Test program
00014 //
00015 // ................................................................
00016 //
00017 
00018 
00019 #ifndef __Atlfast_Test__
00020 #define __Atlfast_Test__
00021 
00022 // STL
00023 #include <string>
00024 #include <vector>
00025 
00026 // Athena/Gaudi 
00027 #include "GaudiKernel/ISvcLocator.h"
00028 #include "GaudiKernel/IAlgorithm.h"
00029 #include "GaudiKernel/Algorithm.h"
00030 #include "GaudiKernel/MsgStream.h"
00031 #include "GaudiKernel/DataObject.h"
00032 #include "GaudiKernel/ObjectVector.h"
00033 #include "GaudiKernel/IHistogram1D.h"
00034 #include "GaudiKernel/IHistogram2D.h"
00035 #include "GaudiKernel/IHistogramSvc.h"
00036 
00037 // Things needed for using MC truth information
00038 #include "HepMC/GenParticle.h"
00039 #include "AtlfastCode/HepMC_helper.h"
00040 
00041 // Things needed to use objects through the IKinematic interface
00042 #include "AtlfastCode/IKinematic.h"
00043 #include "AtlfastCode/KinematicHelper.h"
00044 
00045 // Atlfast output objects (and their collection types)
00046 #include "AtlfastCode/TrackCollection.h"
00047 #include "AtlfastCode/TesIO.h"
00048 
00049 //********************************************
00050 //Default for parameters of this algorithm
00051 //These can be overridden by job options.
00052 //Descriptions are given in the class declaration
00053 //********************************************
00054 #define DEFAULT_trackLocation      "/Event/AtlfastTracks" 
00055 
00056 //***************************************************************
00057 //                 TestTrackViewer class declaration
00058 //
00059 // An "Athena algorithm" is something which gets scheduled and controlled
00060 // by the framework. In its simplest definition it is something which
00061 //  - gets called for each event 
00062 //  - can get anything it wants out of the Transient Event Store"
00063 //  - can put anything it makes into the store.
00064 //
00065 // It must inherit from the  Algorithm base class
00066 //****************************************************************
00067 
00068 namespace Atlfast {
00073 class TestTrackViewer : public Algorithm
00074 {
00075 
00076  public:
00077 
00078   //-------------------------
00079   // Constructors/Destructors
00080   //
00081   // Athena requires that the constructor takes certain arguments
00082   // (and passes them directly to the constructor of the base class)
00083   //-------------------------
00085   TestTrackViewer( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00086 
00087 
00089   virtual ~TestTrackViewer();
00090 
00091 
00092   //------------------------------------------------------
00093   // Methods used by Athena to run the algorithm
00094   //------------------------------------------------------
00096   StatusCode initialize() ;
00098   StatusCode execute() ;
00100   StatusCode finalize() ;
00101 
00102 
00103 
00104  private:
00105 
00106   //---------------------------------------------------
00107   // Member variables
00108   //---------------------------------------------------
00109   //---------------------------------------------------
00110   // Parameters of this algorithm
00111   //---------------------------------------------------
00112 
00114   std::string   m_trackLocation ;
00115   int m_nevents;
00116   int m_ntracks;
00117   TesIO* m_tesIO;
00118   //-------------------------------
00119   // Private methods
00120   //-------------------------------
00121 
00122   /* To iterate through a collection of ReconstructedParticles and dump out
00123    * to the MsgStream specified, and also plot pT() */
00124   void testViewer( MsgStream&, std::vector<Track*>&); 
00125 };
00126 
00127 } // end of namespace bracket
00128 
00129 
00130 #endif
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00138 
00139 
00140 
00141 

Generated on Wed Jan 23 12:58:32 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001