00001 // ===================================================================== 00002 // $Id: TModuleTable.cc,v 1.4 2004/03/07 10:30:31 goiwai Exp $ 00003 // $Name: CLDAQ-1-14-03 $ 00004 // $Log: TModuleTable.cc,v $ 00005 // Revision 1.4 2004/03/07 10:30:31 goiwai 00006 // ROOTに組みこむためのおまじないマクロを埋めこみました。 00007 // 全てにおいて完全に動作するわけではありません。 00008 // 00009 // Revision 1.3 2003/10/06 17:02:40 goiwai 00010 // *** empty log message *** 00011 // 00012 // Revision 1.2 2003/07/30 16:19:10 goiwai 00013 // ファイルにコミットログをつけることにしました. 00014 // 00015 // ===================================================================== 00016 #include "TModuleTable.hh" 00017 00018 TModuleTable::TModuleTable() 00019 : Tvector<TModuleSpecified>() 00020 {;} 00021 00022 TModuleTable::~TModuleTable() 00023 {;} 00024 00025 TModule* TModuleTable::FindModule( const Tstring& id ) const 00026 { 00027 for ( Tsize_t i = 0; i < size(); i ++ ) { 00028 if ( (*this)[ i ].GetModuleID() == id ) { 00029 return (*this)[ i ].GetModule(); 00030 } 00031 } 00032 return 0; 00033 } 00034 00035 Tvoid TModuleTable::AddModule( TModule* module, const Tstring& id, const TstringList& groups ) 00036 { 00037 TModuleSpecified spec( id, groups, module ); 00038 push_back( spec ); 00039 return; 00040 } 00041 00042 Tvoid TModuleTable::RemoveModule( Tint index ) 00043 { 00044 erase( begin() + index ); 00045 return; 00046 } 00047 00048 Tint TModuleTable::GetSize() const 00049 { 00050 return (Tint)size(); 00051 } 00052 00053 Tvoid TModuleTable::Clear() 00054 { 00055 clear(); 00056 return; 00057 } 00058 00059 #ifdef __CLDAQ_ROOT_DLL 00060 ClassImp(TModuleTable) 00061 #endif