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

eventVI.h

Go to the documentation of this file.
00001 #ifndef eventVI_h
00002 #define eventVI_h
00003 
00004 #include "Event/algorithmVI.h"
00005 #include "Event/algorithmTree.h"
00006 
00007 //--------------------------------
00009 /*! 
00010 \e eventVI is an algorithmVI.<br>
00011 \e eventVI is the main algorithm to execute the event tasks: generation, reconstruction and
00012 analysis.
00013 <ul>
00014         <li> It reuses an algorithmTree.
00015         <li> An event algorithm reflect the "physical" process of an \b event. An event
00016         is the process of an interacion of a particle with the detector and how the physicits
00017         retrieve the initial information from the detector response. An event has
00018         three separated task: \b generation (from the interaction of the particle to
00019         the response of the detector) this algorithm creates the Raw data;
00020         \b reconstruction (from the raw data to reconstructed data, data which is still not physical); 
00021         and     \b analysis (from reconstructed data to physics variables). 
00022         Example: tracker device: 1) generation: from the interacion of the particle to the list
00023         of hits, 2) reconstruction: from the list of hits to reconstructed tracks; 3) analysis
00024         from the list of track to the initial direction of the incident particle.
00025         <li> An event algorithm executes three algorithms (also methods): \c generate(), 
00026         \c reconstruct(), and \c analyze(). Each one is an algorithmComposite, so it can be
00027         composed of several algorithms.
00028         <li> This class uses an algorithmTree and renames
00029          the initalize, execute and finalize methods into generate, 
00030          reconstruct and analyze methods.
00031 </ul>
00032 */
00033 //----------------------------
00034 // JA Hernando, Santa Cruz, CA, 05/15/00
00035 //----------------------------
00036 
00037 //############################
00038 class eventVI : public algorithmTree
00039 //############################
00040 {
00041 public:
00042 
00043 
00045         eventVI() {};
00047         virtual ~eventVI() {};
00048 
00050 
00052         virtual void run();
00053 
00055         virtual void generate()    {initialize();}
00057         virtual void reconstruct() {execute();}
00059         virtual void analyze()     {finalize();}
00060 
00062         virtual void command(std::string com);
00063 
00064 protected:
00065 
00067         algorithmComposite* genAlg() const {return iniAlg();}
00069         algorithmComposite* recAlg() const {return exeAlg();}
00071         algorithmComposite* anaAlg() const {return finAlg();} 
00072 
00073 };
00074 #endif

Generated at Fri Aug 18 12:57:38 2000 for centella framework by doxygen 1.1.3 written by Dimitri van Heesch, © 1997-2000