00001 #ifndef ATLFAST_ATLFASTPOOLTEST_H 00002 #define ATLFAST_ATLFASTPOOLTEST_H 00003 00004 #include <string> 00005 #include <vector> 00006 00007 // Gaudi 00008 #ifndef GAUDIKERNEL_ALGORITHM_H 00009 #include "GaudiKernel/Algorithm.h" 00010 #define GAUDIKERNEL_ALGORITHM_H 00011 #endif 00012 00013 #ifndef GAUDIKERNEL_MSGSTREAM_H 00014 #include "GaudiKernel/MsgStream.h" 00015 #define GAUDIKERNEL_MSGSTREAM_H 00016 #endif 00017 00018 //Atlfast 00019 namespace HepMC_helper{ 00020 class IMCselector; 00021 } 00022 00023 00024 class ISvcLocator; 00025 00026 namespace Atlfast { 00027 class Calorimeter; 00028 class TesIO; 00029 class ICellSelector; 00030 class EPileupMap; 00031 class ISmearer; 00032 00033 using std::string; 00034 using std::vector; 00035 00038 class AtlfastPoolTest : public Algorithm { 00039 00040 public: 00041 00043 AtlfastPoolTest(const std::string& name, ISvcLocator* pSvcLocator); 00044 00046 ~AtlfastPoolTest(); 00047 00049 StatusCode initialize(); 00051 StatusCode execute(); 00053 StatusCode finalize(); 00054 00055 private: 00056 Calorimeter* m_calorimeter; 00057 ICellSelector* m_cellSelector; //select cells on readout of Calorimeter 00058 HepMC_helper::IMCselector* m_mcSelector; //selects input particles 00060 EPileupMap* m_epileupMap; 00062 ISmearer* m_smearer; 00063 00064 // parameters needed to construct a calorimeter object... 00065 double m_etaCoverage; 00066 double m_minETCell; // minimum Et of cell to write out 00067 double m_barrelForwardEta; // boundary between forward and barrel 00068 bool m_fieldOn; // field bending calculted if true 00070 00071 bool m_doSmearing; 00073 bool m_fastShower; 00074 00075 00076 //...............Cell Granularities for............................... 00077 double m_granBarrelEta; // barrel eta 00078 double m_granBarrelPhi; // barrel phi 00079 double m_granForwardEta; // forward eta 00080 double m_granForwardPhi; // forward phi 00081 00082 //Paths in the transient event store to get/put things 00083 std::string m_inputLocation; 00084 std::string m_outputLocation; 00085 00086 TesIO* m_tesIO; // TES interface 00087 00088 MsgStream m_log; 00089 00090 //holds the Stotegate MC location 00091 std::string m_mcLocation; 00092 00093 // PDG ID for magnetic monopoles 00094 std::vector<int> m_monopoleIDs; 00095 00096 }; 00097 00098 } // end of namespace bracket 00099 #endif 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116 00117