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

AnalysisSkeleton.h

Go to the documentation of this file.
00001 // ================================================
00002 // AnalysisSkeleton class descriptionn
00003 // ================================================
00004 //
00005 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
00006 //
00007 // Namespace Atlfast::
00008 //
00009 // class: AnalysisSkeleton
00010 //
00011 // Description: 
00012 //
00013 //  This is an example Algorithm designed to show new users
00014 //  of Athena/Atlfast how to access and use Atlfast objects from
00015 //  the TES.
00016 //
00017 //
00018 // ................................................................
00019 //
00020 
00021 
00022 #ifndef __Atlfast_example__
00023 #define __Atlfast_example__
00024 
00025 // STL
00026 #include <string>
00027 #include <vector>
00028 
00029 // Athena/Gaudi 
00030 #include "GaudiKernel/ISvcLocator.h"
00031 #include "GaudiKernel/IAlgorithm.h"
00032 #include "GaudiKernel/Algorithm.h"
00033 #include "GaudiKernel/DataObject.h"
00034 #include "GaudiKernel/ObjectVector.h"
00035 
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/ReconstructedParticle.h"
00047 #include "AtlfastCode/ReconstructedParticleCollection.h"
00048 #include "AtlfastCode/Cell.h"
00049 #include "AtlfastCode/CellCollection.h"
00050 #include "AtlfastCode/Cluster.h"
00051 #include "AtlfastCode/ClusterCollection.h"
00052 
00053 
00054 //***************************************************************
00055 //                 AnalysisSkeleton class declaration
00056 //
00057 // An "Athena algorithm" is something which gets scheduled and controlled
00058 // by the framework. In its simplest definition it is something which
00059 //  - gets called for each event 
00060 //  - can get anything it wants out of the Transient Event Store"
00061 //  - can put anything it makes into the store.
00062 //
00063 // It must inherit from the  Algorithm base class
00064 //****************************************************************
00065 
00066 namespace Atlfast {
00071 class AnalysisSkeleton : public Algorithm
00072 {
00073 
00074  public:
00075 
00076   //-------------------------
00077   // Constructors/Destructors
00078   //
00079   // Athena requires that the constructor takes certain arguments
00080   // (and passes them directly to the constructor of the base class)
00081   //-------------------------
00083   AnalysisSkeleton( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00085   virtual ~AnalysisSkeleton();
00086 
00087 
00088   //------------------------------------------------------
00089   // Methods used by Athena to run the algorithm
00090   //------------------------------------------------------
00092   StatusCode initialize() ;
00094   StatusCode execute() ;
00096   StatusCode finalize() ;
00097 
00098 
00099 
00100  private:
00101 
00102   //---------------------------------------------------
00103   // Member variables
00104   //---------------------------------------------------
00105 
00106 
00107   //---------------------------------------------------
00108   // Parameters of this algorithm
00109   //---------------------------------------------------
00110 
00111 
00112 
00113   //-------------------------------
00114   // Objects used by this class to do its job
00115   //-------------------------------
00116 
00117   // This contains some trivial but oft used procedures
00118   // See the WWW documentation for details.
00120   KinematicHelper m_kinehelp ; 
00121 
00122 
00123 
00124   //-------------------------------
00125   // Private methods
00126   //-------------------------------
00127 
00128 
00129 };
00130 
00131 } // end of namespace bracket
00132 
00133 
00134 #endif
00135 
00136 
00137 
00138 
00139 
00140 
00141 
00142 
00143 
00144 
00145 

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