68 MsgStream log(
msgSvc(), name() );
70 std::string SubAlg_type, SubAlg_name, SubAlg_param, SubAlg_NameParam, AlgNameFromConfig;
75 log << MSG::DEBUG <<
"Sequence " << sequence->
getSeqID() <<
" has " << sequence->
algoNum()
76 <<
" algorithms " << endmsg;
78 std::vector<Algorithm*> helpAlgVec;
79 std::vector<std::string>::iterator algI = sequence->
algoVector().begin();
81 for ( ; algI != sequence->
algoVector().end(); algI++ )
83 std::string alg_def = *algI;
84 log << MSG::DEBUG <<
"algorithm : " << alg_def << endmsg;
86 findParamSet( SubAlg_NameParam, AlgNameFromConfig, SubAlg_param );
87 SubAlg_name = AlgNameFromConfig +
"_" + SubAlg_param;
94 StatusCode sc = createSubAlgorithm( SubAlg_type, SubAlg_name, pAlg );
97 log << MSG::FATAL << alg_def <<
" sub-algorithm create failed!" << endmsg;
100 log << MSG::DEBUG <<
"created " << SubAlg_type <<
"/" << SubAlg_name << endmsg;
101 bAlg =
dynamic_cast<Algorithm*
>( pAlg );
104 StringProperty paramSet(
"ParamSetFile", SubAlg_param );
105 bAlg->setProperty( paramSet );
107 helpAlgVec.push_back( bAlg );
112 bAlg =
dynamic_cast<Algorithm*
>( pAlg );
114 StringProperty paramSet(
"ParamSetFile", SubAlg_param );
115 bAlg->setProperty( paramSet );
116 helpAlgVec.push_back( bAlg );
119 m_AlgMap[sequence->
getSeqID()] = helpAlgVec;
121 log << MSG::INFO <<
"Initialization of " << name() <<
" completed successfully" << endmsg;
122 return StatusCode::SUCCESS;
128 MsgStream log(
msgSvc(), name() );
130 std::vector<Algorithm*>* subAlgms = subAlgorithms();
131 std::vector<Algorithm*>::iterator it = subAlgms->begin();
132 for ( ; it != subAlgms->end(); it++ )
134 if ( subAlgName == ( *it )->name() )
136 log << subAlgName <<
" already created, return pointer to it " << endmsg;
145 MsgStream log(
msgSvc(), name() );
146 bool doesExist =
false;
147 std::vector<Algorithm*>* subAlgms = subAlgorithms();
149 if ( subAlgms->size() == 0 )
156 std::vector<Algorithm*>::iterator it = subAlgms->begin();
157 for ( ; it != subAlgms->end(); it++ )
159 if ( aName == ( *it )->name() )
161 log << MSG::WARNING << aName <<
" sub-algorithm already created" << endmsg;
173 MsgStream log(
msgSvc(), name() );
174 const std::vector<Algorithm*>& algVec = m_AlgMap[seqID];
178 log << MSG::DEBUG <<
"=============================" << endmsg;
180 std::vector<Algorithm*>::const_iterator it = algVec.begin();
181 for ( ; it != algVec.end(); it++ )
183 StatusCode sc = ( *it )->execute();
184 if ( sc.isFailure() )
186 log << MSG::ERROR << ( *it )->name() <<
" execute failed" << endmsg;
196 MsgStream log(
msgSvc(), name() );
197 std::string SubAlg_type, SubAlg_name, SubAlg_param, SubAlg_NameParam, AlgNameFromConfig;
206 std::vector<std::string>::iterator It = seq->
algoVector().begin();
209 std::string alg_defin = *It;
211 findParamSet( SubAlg_NameParam, AlgNameFromConfig, SubAlg_param );
212 SubAlg_name = AlgNameFromConfig +
"_" + SubAlg_param;