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

CellMaker.h

Go to the documentation of this file.
00001 // Cell Maker.h
00002 //
00003 // HTP tidied up and put into namespace
00004 
00005 #ifndef ATLFAST_CELLMAKER_H
00006 #define ATLFAST_CELLMAKER_H
00007 
00008 #include <string>
00009 
00010 // Gaudi
00011 #include "GaudiKernel/Algorithm.h"
00012 
00013 //Atlfast
00014 namespace HepMC_helper{
00015   class IMCselector;
00016 }
00017 
00018 
00019 //Transient event store paths
00020 
00021 #define   DEFAULT_inputLocation      "/Event/McEventCollection"
00022 #define   DEFAULT_commonDataLocation "/Event/AtlfastCommonData"
00023 #define   DEFAULT_outputLocation     "/Event/AtlfastCells" 
00024 
00025 //Steering parameters needed to set up a calorimeter object
00026 // it is clearly very ugly to have to read all of this in 
00027 // for CellMaker - we should instead hand CellMaker the right
00028 
00029 
00030 // sort of Calorimeter object. But right now we do it this way
00031 // because we don't yet have Gaudi tools.
00032 //
00033 #define   DEFAULT_etaCoverage 5.0
00034 #define   DEFAULT_minETCell 0.0
00035 // Starting granularities. Will be adjusted to give integral numbers of bins
00036 #define   DEFAULT_granBarrelEta  0.1
00037 #define   DEFAULT_granBarrelPhi  0.1
00038 #define   DEFAULT_granForwardEta 0.2
00039 #define   DEFAULT_granForwardPhi 0.2
00040 
00041 class ISvcLocator;
00042 
00043 namespace Atlfast {
00044   class Calorimeter;
00045   class MagField;
00046   class TesIO;
00047   class ICellSelector;
00055   class CellMaker : public Algorithm {
00056 
00057   public:
00058     //Gaudi style constructor and execution methods
00060     CellMaker(const std::string& name, ISvcLocator* pSvcLocator);
00062     ~CellMaker();
00063     
00065     StatusCode          initialize();
00067     StatusCode          execute();
00069     //    StatusCode          finalize() {return StatusCode::SUCCESS;}
00070     StatusCode          finalize();
00071 
00072   private:
00074     Calorimeter*                         m_calorimeter;  
00077     MagField*                            m_magField;     
00080     ICellSelector*                       m_cellSelector;
00083     HepMC_helper::IMCselector*          m_mcSelector;
00084 
00085     // parameters needed to construct a calorimeter object...
00087     double    m_etaCoverage;      
00088  // entire eta coverage
00090     double    m_minETCell;         // minimum Et of cell to write out
00092     double    m_barrelForwardEta;  // boundary between forward and barrel
00094     bool      m_fieldOn;           // field bending calculted if true
00095 
00096 
00100     //...............Cell Granularities for...............................
00102     double    m_granBarrelEta;     // barrel eta
00104     double    m_granBarrelPhi;     // barrel phi
00106     double    m_granForwardEta;    // forward eta
00108     double    m_granForwardPhi;    // forward phi
00109 
00110 
00111 
00112     //Paths in the transient event store to get/put things
00113     //Currently set in member variables to be overwritten
00114     //by job options service
00116     std::string m_inputLocation;
00118     std::string m_commonDataLocation;
00120     std::string m_outputLocation;
00121 
00122     TesIO* m_tesIO;
00123     bool m_notInit;
00124   };
00125 
00126 } // end of namespace bracket
00127 #endif
00128 
00129 
00130 
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00138 
00139 
00140 
00141 
00142 
00143 
00144 
00145 

Generated on Mon Feb 4 15:54:23 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001