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

reconRootWriterAlg.h

Go to the documentation of this file.
00001 #ifndef reconRootWriterAlg_h
00002 #define reconRootWriterAlg_h
00003 
00004 #include "GaudiKernel/Algorithm.h"
00005 
00006 #include "TkrRecon/SiRecObjs.h"
00007 #include "TkrRecon/SiClusters.h"
00008 
00009 #include "CalRecon/CalRecLogs.h"
00010 #include "CalRecon/CsIClusters.h"
00011 
00012 
00013 class Recon;
00014 class CalLogEne;
00015 class CalCluster;
00016 
00017 
00018 class TkrTrack;
00019 class TkrSiCluster;
00020 class TkrLocator;
00021 class TkrHit;
00022 class TkrGamma;
00023 
00024 class TFile;
00025 class TTree;
00026 
00027 class reconRootWriterAlg : public Algorithm
00028 {       
00029 public:
00030     
00032 
00033     reconRootWriterAlg(const std::string& name, ISvcLocator* pSvcLocator);
00034     
00036     StatusCode initialize();
00038     StatusCode execute();
00040     StatusCode finalize();
00041     
00043     StatusCode retrieve();
00044     
00045 protected:
00046     
00048     void save(SiRecObjs* sirec);
00050     void save(SiClusters* sicl);
00052     void save(CalRecLogs* crls);
00054     void save(CsIClusterList* ccl);
00056     //  void save(tbHeader* header);
00057     
00059     void load(SiRecObjs* sirec) {};
00061     void load(SiClusters* sicl) {};
00063     void load(CalRecLogs* crls) {};
00065     void load(CsIClusterList* ccl) {};
00067     //  void load(tbHeader* header) {};
00068     
00069 protected:
00070     
00072 
00074     //  virtual void defineConverters();
00075     
00076     void writeEvent();
00077     void close();
00078     StatusCode saveHeader();
00079     
00080 private:
00081     
00082     CalLogEne*    converter(const CalRecLog* crl);
00083     CalCluster*   converter(const ICsICluster* cc);
00084     
00086 
00088     TkrTrack*     converter(const GFtrack* track, int id, bool mother = false);
00090 
00092     TkrLocator*   converter(const GFdata* gf);
00094     TkrSiCluster* converter(const SiCluster* scl);
00095     
00097 
00099     TkrHit*         converter(const KalPlane& kp, SiCluster::view a);
00101 
00103     TkrLocator*   converter(const KalPlane& kp, SiCluster::view a, int idummy);
00104     
00105 private:
00106     
00108     void importGamma(SiRecObjs* sirec);
00110     void importTracks(SiRecObjs* sirec);
00112     void importHits(const GFtrack* track, TkrTrack* rtrack);
00113     
00114 private:
00115     
00117     int m_idtrack;
00118     
00119 private:
00120     
00121     SiClusters* m_SiClusters;
00122     SiRecObjs* m_SiRecObjs;
00123     CalRecLogs* m_CalRecLogs;
00124     CsIClusterList* m_CsIClusterList;
00125     
00126     TFile *recFile;
00127     TTree *recTree;
00128     
00129     Recon *m_rec;
00130     
00131     std::string m_nameFile;
00132     std::string m_inputSource;
00133     
00134 };
00135 #endif
00136 
00137 
00138 

Generated at Wed Nov 21 12:22:36 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000