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