00001 00002 #ifndef __CALCLUSTERSALG_H 00003 #define __CALCLUSTERSALG_H 1 00004 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "ICalGeometrySvc.h" 00007 00008 class CalRecLogs; 00009 class CsIClusterList; 00010 class CsICluster; 00011 class Midnight; 00012 00013 //---------------------------------------------- 00014 // 00015 // CalClustersAlg 00016 // 00017 // Algorithm Data constructor of CsIClusterList 00018 //---------------------------------------------- 00019 // J.A Hernando, Santa Cruz 02/29/00 00020 //---------------------------------------------- 00021 00022 00024 00055 //########################################################## 00056 class CalClustersAlg : public Algorithm 00057 //########################################################## 00058 { 00059 public: 00060 00062 CalClustersAlg(const std::string& name, ISvcLocator* pSvcLocator); 00064 virtual ~CalClustersAlg() {}; 00065 00066 // operations 00067 StatusCode initialize(); 00068 StatusCode execute(); 00069 StatusCode finalize(); 00070 00072 double Leak(double sum,double elast); 00074 void Profile(double sum, CsICluster* cl); 00076 Vector Fit_Direction(std::vector<Vector> pos,std::vector<Vector> sigma2,int nlayers); 00077 00078 protected: 00079 00080 StatusCode retrieve(); 00081 00082 private: 00083 00084 ICalGeometrySvc* m_CalGeo; 00086 CalRecLogs* m_CalRecLogs; 00088 CsIClusterList* m_CsIClusterList; 00090 Midnight* minuit; 00091 int m_callNumber; 00092 }; 00093 00094 #endif 00095 00096 00097