Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 3 4 #ifndef tools_rroot_dummy_fac 5 #define tools_rroot_dummy_fac 6 7 //#include "info" 8 //#include "iros" 9 10 #include "graph" 11 12 namespace tools { 13 namespace rroot { 14 15 class dummy_fac : public virtual ifac { 16 public: //ifac 17 virtual std::ostream& out() const {return m_out;} 18 virtual iro* create(const std::string& a_class,const args& /*a_args*/) { 19 if(rcmp(a_class,"TGraph")) { //for TH_read_1D/List. 20 return new graph(); 21 /* 22 } else if(rcmp(a_class,"TObjArray")) { 23 std::string* sc = ifac::arg_class(a_args); 24 if(sc) { 25 if((*sc)==streamer_element::s_class()){ 26 return new obj_array<streamer_element>(*this); 27 } else { 28 m_out << "tools::rroot::dummy_fac::create :" 29 << " Can't create TObjArray of " << *sc << "." 30 << std::endl; 31 return 0; 32 } 33 } else { 34 return new iros(*this); 35 } 36 */ 37 /* 38 // for read_sinfos() : 39 } else if(rcmp(a_class,"TStreamerInfo")) { 40 return new streamer_info(*this); 41 } else if(rcmp(a_class,"TStreamerBase") 42 ||rcmp(a_class,"TStreamerBasicType") 43 ||rcmp(a_class,"TStreamerBasicPointer") 44 ||rcmp(a_class,"TStreamerObjectAny") 45 ||rcmp(a_class,"TStreamerObject") 46 ||rcmp(a_class,"TStreamerObjectPointer") 47 ||rcmp(a_class,"TStreamerString") 48 ||rcmp(a_class,"TStreamerSTL") 49 ||rcmp(a_class,"TStreamerLoop") 50 ||rcmp(a_class,"TList") 51 ) { 52 return new dummy_streamer_element(); 53 */ 54 } else { 55 m_out << "tools::rroot::dummy_fac::create :" 56 << " dummy. Can't create object of class " << sout(a_class) << "." 57 << std::endl; 58 } 59 return 0; 60 } 61 public: 62 dummy_fac(std::ostream& a_out):m_out(a_out){} 63 virtual ~dummy_fac(){} 64 protected: 65 dummy_fac(const dummy_fac& a_from): ifac(a_from),m_out(a_from.m_out){} 66 dummy_fac& operator=(const dummy_fac&){return *this;} 67 protected: 68 std::ostream& m_out; 69 }; 70 71 }} 72 73 #endif