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_outputLocation     "/Event/AtlfastCells" 
00023 
00024 //Steering parameters needed to set up a calorimeter object
00025 // it is clearly very ugly to have to read all of this in 
00026 // for CellMaker - we should instead hand CellMaker the right
00027 
00028 
00029 // sort of Calorimeter object. But right now we do it this way
00030 // because we don't yet have Gaudi tools.
00031 //
00032 #define   DEFAULT_etaCoverage 5.0
00033 #define   DEFAULT_minETCell 0.0
00034 // Starting granularities. Will be adjusted to give integral numbers of bins
00035 #define   DEFAULT_granBarrelEta  0.1
00036 #define   DEFAULT_granBarrelPhi  0.1
00037 #define   DEFAULT_granForwardEta 0.2
00038 #define   DEFAULT_granForwardPhi 0.2
00039 
00040 class ISvcLocator;
00041 
00042 namespace Atlfast {
00043   class Calorimeter;
00044   class MagField;
00045   class TesIO;
00046   class ICellSelector;
00054   class CellMaker : public Algorithm {
00055 
00056   public:
00057     //Gaudi style constructor and execution methods
00059     CellMaker(const std::string& name, ISvcLocator* pSvcLocator);
00061     ~CellMaker();
00062     
00064     StatusCode          initialize();
00066     StatusCode          execute();
00068     //    StatusCode          finalize() {return StatusCode::SUCCESS;}
00069     StatusCode          finalize();
00070 
00071   private:
00073     Calorimeter*                         m_calorimeter;  
00076     MagField*                            m_magField;     
00079     ICellSelector*                       m_cellSelector;
00082     HepMC_helper::IMCselector*          m_mcSelector;
00083 
00084     // parameters needed to construct a calorimeter object...
00086     double    m_etaCoverage;      
00087  // entire eta coverage
00089     double    m_minETCell;         // minimum Et of cell to write out
00091     double    m_barrelForwardEta;  // boundary between forward and barrel
00093     bool      m_fieldOn;           // field bending calculted if true
00094 
00095 
00099     //...............Cell Granularities for...............................
00101     double    m_granBarrelEta;     // barrel eta
00103     double    m_granBarrelPhi;     // barrel phi
00105     double    m_granForwardEta;    // forward eta
00107     double    m_granForwardPhi;    // forward phi
00108 
00109 
00110 
00111     //Paths in the transient event store to get/put things
00112     //Currently set in member variables to be overwritten
00113     //by job options service
00115     std::string m_inputLocation;
00117     std::string m_outputLocation;
00118 
00119     TesIO* m_tesIO;
00120 
00121   };
00122 
00123 } // end of namespace bracket
00124 #endif
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00138 
00139 
00140 
00141 
00142 

Generated on Thu Feb 21 14:30:45 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001