![]() |
|
|
Generated: 8 Jan 2009 |
00001 // $Id: TupleDecorator.cpp,v 1.7 2007/08/07 14:05:33 marcocle Exp $ 00002 // ============================================================================ 00003 // Include files 00004 // ============================================================================ 00005 // CLHEP 00006 // ============================================================================/ 00007 #include "CLHEP/Matrix/GenMatrix.h" 00008 #include "CLHEP/Matrix/Matrix.h" 00009 #include "CLHEP/Matrix/Vector.h" 00010 // ============================================================================/ 00011 // GaudiAlg 00012 // ============================================================================ 00013 #include "GaudiAlg/TupleObj.h" 00014 #include "GaudiAlg/Tuple.h" 00015 // ============================================================================ 00016 // GaudiPython 00017 // ============================================================================ 00018 #include "GaudiPython/Vector.h" 00019 #include "GaudiPython/TupleDecorator.h" 00020 // =========================================================================== 00026 // ============================================================================ 00027 namespace 00028 { 00029 // ========================================================================== 00030 template <class TYPE> 00031 inline StatusCode _fill ( const Tuples::Tuple& tuple , 00032 const std::string& name , 00033 const TYPE& value ) 00034 { 00035 return tuple.valid() ? tuple->column(name,value) : StatusCode::FAILURE ; 00036 } 00037 } 00038 // ============================================================================ 00039 INTuple* GaudiPython::TupleDecorator::nTuple 00040 ( const Tuples::Tuple& tuple ) 00041 { 00042 if ( !tuple.valid() ) { return 0 ; } 00043 return tuple->tuple() ; 00044 } 00045 // ============================================================================ 00046 NTuple::Tuple* GaudiPython::TupleDecorator::ntuple 00047 ( const Tuples::Tuple& tuple ) 00048 { 00049 if ( !tuple.valid() ) { return 0 ; } 00050 return tuple->tuple() ; 00051 } 00052 // ============================================================================ 00053 bool GaudiPython::TupleDecorator::valid 00054 ( const Tuples::Tuple& tuple ) { return tuple.valid() ; } 00055 // ============================================================================ 00056 StatusCode GaudiPython::TupleDecorator::write 00057 ( const Tuples::Tuple& tuple ) 00058 { 00059 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00060 return tuple->write(); 00061 } 00062 // ============================================================================ 00063 StatusCode GaudiPython::TupleDecorator::column 00064 ( const Tuples::Tuple& tuple , 00065 const std::string& name , 00066 const int value ) 00067 { return _fill ( tuple , name , value ) ; } 00068 // ============================================================================ 00069 StatusCode GaudiPython::TupleDecorator::column 00070 ( const Tuples::Tuple& tuple , 00071 const std::string& name , 00072 const int value , 00073 const int minv , 00074 const int maxv ) 00075 { 00076 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00077 return tuple -> column ( name , value , minv , maxv ) ; 00078 } 00079 // ============================================================================ 00080 StatusCode GaudiPython::TupleDecorator::column 00081 ( const Tuples::Tuple& tuple , 00082 const std::string& name , 00083 const double value ) 00084 { return _fill ( tuple , name , value ) ; } 00085 // ============================================================================ 00086 StatusCode GaudiPython::TupleDecorator::column 00087 ( const Tuples::Tuple& tuple , 00088 const std::string& name , 00089 const bool value ) 00090 { return _fill ( tuple , name , value ) ; } 00091 // ============================================================================ 00092 StatusCode GaudiPython::TupleDecorator::column 00093 ( const Tuples::Tuple& tuple , 00094 const std::string& name , 00095 IOpaqueAddress* value ) 00096 { 00097 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00098 return tuple->column( name , value ) ; 00099 } 00100 // ============================================================================ 00101 StatusCode GaudiPython::TupleDecorator::column 00102 ( const Tuples::Tuple& tuple , 00103 const std::string& name , 00104 const Gaudi::LorentzVector& value ) 00105 { return _fill ( tuple , name , value ) ; } 00106 // ============================================================================ 00107 StatusCode GaudiPython::TupleDecorator::column 00108 ( const Tuples::Tuple& tuple , 00109 const std::string& name , 00110 const Gaudi::PtEtaPhiEVector& value ) 00111 { return _fill ( tuple , name , value ) ; } 00112 // ============================================================================ 00113 StatusCode GaudiPython::TupleDecorator::column 00114 ( const Tuples::Tuple& tuple , 00115 const std::string& name , 00116 const Gaudi::XYZVector& value ) 00117 { return _fill ( tuple , name , value ) ; } 00118 // ============================================================================ 00119 StatusCode GaudiPython::TupleDecorator::column 00120 ( const Tuples::Tuple& tuple , 00121 const std::string& name , 00122 const Gaudi::Polar3DVector& value ) 00123 { return _fill ( tuple , name , value ) ; } 00124 // ============================================================================ 00125 StatusCode GaudiPython::TupleDecorator::column 00126 ( const Tuples::Tuple& tuple , 00127 const std::string& name , 00128 const Gaudi::RhoEtaPhiVector& value ) 00129 { return _fill ( tuple , name , value ) ; } 00130 // ============================================================================ 00131 StatusCode GaudiPython::TupleDecorator::column 00132 ( const Tuples::Tuple& tuple , 00133 const std::string& name , 00134 const Gaudi::RhoZPhiVector& value ) 00135 { return _fill ( tuple , name , value ) ; } 00136 // ============================================================================ 00137 StatusCode GaudiPython::TupleDecorator::column 00138 ( const Tuples::Tuple& tuple , 00139 const std::string& name , 00140 const Gaudi::XYZPoint& value ) 00141 { return _fill ( tuple , name , value ) ; } 00142 // ============================================================================ 00143 StatusCode GaudiPython::TupleDecorator::column 00144 ( const Tuples::Tuple& tuple , 00145 const std::string& name , 00146 const Gaudi::Polar3DPoint& value ) 00147 { return _fill ( tuple , name , value ) ; } 00148 // ============================================================================ 00149 StatusCode GaudiPython::TupleDecorator::column 00150 ( const Tuples::Tuple& tuple , 00151 const std::string& name , 00152 const Gaudi::RhoEtaPhiPoint& value ) 00153 { return _fill ( tuple , name , value ) ; } 00154 // ============================================================================ 00155 StatusCode GaudiPython::TupleDecorator::column 00156 ( const Tuples::Tuple& tuple , 00157 const std::string& name , 00158 const Gaudi::RhoZPhiPoint& value ) 00159 { return _fill ( tuple , name , value ) ; } 00160 // ============================================================================ 00161 StatusCode GaudiPython::TupleDecorator::farray 00162 ( const Tuples::Tuple& tuple , 00163 const std::string& name , 00164 const std::vector<double>& data , 00165 const std::string& length , 00166 const size_t maxv ) 00167 { 00168 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00169 return tuple->farray( name , data.begin() , data.end() , length , maxv ) ; 00170 } 00171 // ============================================================================ 00172 StatusCode GaudiPython::TupleDecorator::farray 00173 ( const Tuples::Tuple& tuple , 00174 const std::string& name , 00175 const CLHEP::HepVector& data , 00176 const std::string& length , 00177 const size_t maxv ) 00178 { 00179 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00180 // use the trick! 00181 const double* begin = &(data[0]); 00182 const double* end = begin + data.num_row() ; 00183 return tuple->farray ( name , begin , end , length , maxv ) ; 00184 } 00185 // ============================================================================ 00186 StatusCode GaudiPython::TupleDecorator::fmatrix 00187 ( const Tuples::Tuple& tuple , 00188 const std::string& name , 00189 const GaudiPython::Matrix& data , 00190 const Tuples::TupleObj::MIndex cols , // fixed !!! 00191 const std::string& length , 00192 const size_t maxv ) 00193 { 00194 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00195 if ( !data.empty() && cols != data.front().size() ) 00196 { return tuple -> 00197 Error ("GP:fmatrix(1): mismatch in matrix dimensions!" ) ; } 00198 return tuple->fmatrix( name , data , data.size() , cols , length , maxv ) ; 00199 } 00200 // ============================================================================ 00201 StatusCode GaudiPython::TupleDecorator::fmatrix 00202 ( const Tuples::Tuple& tuple , 00203 const std::string& name , 00204 const CLHEP::HepGenMatrix& data , 00205 const Tuples::TupleObj::MIndex cols , // fixed !!! 00206 const std::string& length , 00207 const size_t maxv ) 00208 { 00209 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00210 if ( cols != data.num_col() ) 00211 { return tuple -> 00212 Error ("GP:fmatrix(2): mismatch in matrix dimensions!" ) ; } 00213 return tuple->fmatrix( name , data , data.num_row() , cols , length , maxv ) ; 00214 } 00215 // ============================================================================ 00216 StatusCode GaudiPython::TupleDecorator::fmatrix 00217 ( const Tuples::Tuple& tuple , 00218 const std::string& name , 00219 const GaudiUtils::VectorMap<int,double>& info , 00220 const std::string& length , 00221 const size_t maxv ) 00222 { 00223 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00224 return tuple->fmatrix ( name , info , length , maxv ) ; 00225 } 00226 // ============================================================================ 00227 StatusCode GaudiPython::TupleDecorator::array 00228 ( const Tuples::Tuple& tuple , 00229 const std::string& name , 00230 const std::vector<double>& data ) 00231 { 00232 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00233 return tuple->array ( name , data.begin() , data.end() ) ; 00234 } 00235 // ============================================================================ 00236 StatusCode GaudiPython::TupleDecorator::array 00237 ( const Tuples::Tuple& tuple , 00238 const std::string& name , 00239 const CLHEP::HepVector& data ) 00240 { 00241 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00242 return tuple->array( name , data , data.num_row() ) ; 00243 } 00244 // ============================================================================ 00245 StatusCode GaudiPython::TupleDecorator::array 00246 ( const Tuples::Tuple& tuple , 00247 const std::string& name , 00248 const Gaudi::Vector1& data ) 00249 { 00250 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00251 return tuple->array( name , data ) ; 00252 } 00253 // ============================================================================ 00254 StatusCode GaudiPython::TupleDecorator::array 00255 ( const Tuples::Tuple& tuple , 00256 const std::string& name , 00257 const Gaudi::Vector2& data ) 00258 { 00259 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00260 return tuple->array( name , data ) ; 00261 } 00262 // ============================================================================ 00263 StatusCode GaudiPython::TupleDecorator::array 00264 ( const Tuples::Tuple& tuple , 00265 const std::string& name , 00266 const Gaudi::Vector3& data ) 00267 { 00268 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00269 return tuple->array( name , data.begin() , data.begin() + 3 ) ; 00270 } 00271 // ============================================================================ 00272 StatusCode GaudiPython::TupleDecorator::array 00273 ( const Tuples::Tuple& tuple , 00274 const std::string& name , 00275 const Gaudi::Vector4& data ) 00276 { 00277 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00278 // return tuple->array( name , data ) ; 00279 return tuple->array( name , data.begin() , data.begin()+4 ) ; 00280 } 00281 // ============================================================================ 00282 StatusCode GaudiPython::TupleDecorator::array 00283 ( const Tuples::Tuple& tuple , 00284 const std::string& name , 00285 const Gaudi::Vector5& data ) 00286 { 00287 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00288 return tuple->array( name , data ) ; 00289 } 00290 // ============================================================================ 00291 StatusCode GaudiPython::TupleDecorator::array 00292 ( const Tuples::Tuple& tuple , 00293 const std::string& name , 00294 const Gaudi::Vector6& data ) 00295 { 00296 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00297 return tuple->array( name , data ) ; 00298 } 00299 // ============================================================================ 00300 StatusCode GaudiPython::TupleDecorator::array 00301 ( const Tuples::Tuple& tuple , 00302 const std::string& name , 00303 const Gaudi::Vector7& data ) 00304 { 00305 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00306 return tuple->array( name , data ) ; 00307 } 00308 // ============================================================================ 00309 StatusCode GaudiPython::TupleDecorator::array 00310 ( const Tuples::Tuple& tuple , 00311 const std::string& name , 00312 const Gaudi::Vector8& data ) 00313 { 00314 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00315 return tuple->array( name , data ) ; 00316 } 00317 // ============================================================================ 00318 StatusCode GaudiPython::TupleDecorator::array 00319 ( const Tuples::Tuple& tuple , 00320 const std::string& name , 00321 const Gaudi::Vector9& data ) 00322 { 00323 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00324 return tuple->array( name , data ) ; 00325 } 00326 // ============================================================================ 00327 StatusCode GaudiPython::TupleDecorator::matrix 00328 ( const Tuples::Tuple& tuple , 00329 const std::string& name , 00330 const GaudiPython::Matrix& data , 00331 const Tuples::TupleObj::MIndex cols ) // fixed !!! 00332 { 00333 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00334 if ( data.empty() ) 00335 { return tuple -> 00336 Warning ("GP:matrix(1): empty fixed matrix, skip matrix " ) ; } 00337 if ( cols != data.front().size() ) 00338 { return tuple -> 00339 Error ("GP:matrix(1): mismatch in fixed matrix dimensions!" ) ; } 00340 return tuple -> matrix ( name , data , data.size() , cols ) ; 00341 } 00342 // ============================================================================ 00343 StatusCode GaudiPython::TupleDecorator::matrix 00344 ( const Tuples::Tuple& tuple , 00345 const std::string& name , 00346 const CLHEP::HepGenMatrix& data ) 00347 { 00348 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00349 if ( 1 > data.num_col() ) 00350 { return tuple -> 00351 Error ("GP:matrix(2): illegal fixed matrix num_col" ) ; } 00352 if ( 1 > data.num_row() ) 00353 { return tuple -> 00354 Error ("GP:matrix(2): illegal fixed matrix num_row" ) ; } 00355 return tuple->matrix( name , data , data.num_row() , data.num_col() ) ; 00356 } 00357 // ============================================================================ 00358 StatusCode GaudiPython::TupleDecorator::matrix 00359 ( const Tuples::Tuple& tuple , 00360 const std::string& name , 00361 const Gaudi::Matrix1x1& data ) 00362 { 00363 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00364 return tuple->matrix ( name , data ) ; 00365 } 00366 // ============================================================================ 00367 StatusCode GaudiPython::TupleDecorator::matrix 00368 ( const Tuples::Tuple& tuple , 00369 const std::string& name , 00370 const Gaudi::Matrix2x2& data ) 00371 { 00372 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00373 return tuple->matrix ( name , data ) ; 00374 } 00375 // ============================================================================ 00376 StatusCode GaudiPython::TupleDecorator::matrix 00377 ( const Tuples::Tuple& tuple , 00378 const std::string& name , 00379 const Gaudi::Matrix3x3& data ) 00380 { 00381 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00382 return tuple->matrix ( name , data ) ; 00383 } 00384 // ============================================================================ 00385 StatusCode GaudiPython::TupleDecorator::matrix 00386 ( const Tuples::Tuple& tuple , 00387 const std::string& name , 00388 const Gaudi::Matrix4x4& data ) 00389 { 00390 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00391 return tuple->matrix ( name , data ) ; 00392 } 00393 // ============================================================================ 00394 StatusCode GaudiPython::TupleDecorator::matrix 00395 ( const Tuples::Tuple& tuple , 00396 const std::string& name , 00397 const Gaudi::Matrix5x5& data ) 00398 { 00399 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00400 return tuple->matrix ( name , data ) ; 00401 } 00402 // ============================================================================ 00403 StatusCode GaudiPython::TupleDecorator::matrix 00404 ( const Tuples::Tuple& tuple , 00405 const std::string& name , 00406 const Gaudi::Matrix6x6& data ) 00407 { 00408 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00409 return tuple->matrix ( name , data ) ; 00410 } 00411 // ============================================================================ 00412 StatusCode GaudiPython::TupleDecorator::matrix 00413 ( const Tuples::Tuple& tuple , 00414 const std::string& name , 00415 const Gaudi::Matrix7x7& data ) 00416 { 00417 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00418 return tuple->matrix ( name , data ) ; 00419 } 00420 // ============================================================================ 00421 StatusCode GaudiPython::TupleDecorator::matrix 00422 ( const Tuples::Tuple& tuple , 00423 const std::string& name , 00424 const Gaudi::Matrix8x8& data ) 00425 { 00426 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00427 return tuple->matrix ( name , data ) ; 00428 } 00429 // ============================================================================ 00430 StatusCode GaudiPython::TupleDecorator::matrix 00431 ( const Tuples::Tuple& tuple , 00432 const std::string& name , 00433 const Gaudi::Matrix9x9& data ) 00434 { 00435 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00436 return tuple->matrix ( name , data ) ; 00437 } 00438 // ============================================================================ 00439 StatusCode GaudiPython::TupleDecorator::matrix 00440 ( const Tuples::Tuple& tuple , 00441 const std::string& name , 00442 const Gaudi::Matrix1x3& data ) 00443 { 00444 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00445 return tuple->matrix ( name , data ) ; 00446 } 00447 // ============================================================================ 00448 StatusCode GaudiPython::TupleDecorator::matrix 00449 ( const Tuples::Tuple& tuple , 00450 const std::string& name , 00451 const Gaudi::Matrix1x5& data ) 00452 { 00453 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00454 return tuple->matrix ( name , data ) ; 00455 } 00456 // ============================================================================ 00457 StatusCode GaudiPython::TupleDecorator::matrix 00458 ( const Tuples::Tuple& tuple , 00459 const std::string& name , 00460 const Gaudi::Matrix1x6& data ) 00461 { 00462 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00463 return tuple->matrix ( name , data ) ; 00464 } 00465 // ============================================================================ 00466 StatusCode GaudiPython::TupleDecorator::matrix 00467 ( const Tuples::Tuple& tuple , 00468 const std::string& name , 00469 const Gaudi::Matrix4x3& data ) 00470 { 00471 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00472 return tuple->matrix ( name , data ) ; 00473 } 00474 // ============================================================================ 00475 StatusCode GaudiPython::TupleDecorator::matrix 00476 ( const Tuples::Tuple& tuple , 00477 const std::string& name , 00478 const Gaudi::Matrix3x4& data ) 00479 { 00480 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00481 return tuple->matrix ( name , data ) ; 00482 } 00483 // ============================================================================ 00484 StatusCode GaudiPython::TupleDecorator::matrix 00485 ( const Tuples::Tuple& tuple , 00486 const std::string& name , 00487 const Gaudi::Matrix3x5& data ) 00488 { 00489 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00490 return tuple->matrix ( name , data ) ; 00491 } 00492 // ============================================================================ 00493 StatusCode GaudiPython::TupleDecorator::matrix 00494 ( const Tuples::Tuple& tuple , 00495 const std::string& name , 00496 const Gaudi::Matrix3x6& data ) 00497 { 00498 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00499 return tuple->matrix ( name , data ) ; 00500 } 00501 // ============================================================================ 00502 StatusCode GaudiPython::TupleDecorator::matrix 00503 ( const Tuples::Tuple& tuple , 00504 const std::string& name , 00505 const Gaudi::Matrix2x3& data ) 00506 { 00507 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00508 return tuple->matrix ( name , data ) ; 00509 } 00510 // ============================================================================ 00511 StatusCode GaudiPython::TupleDecorator::matrix 00512 ( const Tuples::Tuple& tuple , 00513 const std::string& name , 00514 const Gaudi::Matrix3x2& data ) 00515 { 00516 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00517 return tuple->matrix ( name , data ) ; 00518 } 00519 // ============================================================================ 00520 StatusCode GaudiPython::TupleDecorator::matrix 00521 ( const Tuples::Tuple& tuple , 00522 const std::string& name , 00523 const Gaudi::SymMatrix1x1& data ) 00524 { 00525 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00526 return tuple->matrix ( name , data ) ; 00527 } 00528 // ============================================================================ 00529 StatusCode GaudiPython::TupleDecorator::matrix 00530 ( const Tuples::Tuple& tuple , 00531 const std::string& name , 00532 const Gaudi::SymMatrix2x2& data ) 00533 { 00534 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00535 return tuple->matrix ( name , data ) ; 00536 } 00537 // ============================================================================ 00538 StatusCode GaudiPython::TupleDecorator::matrix 00539 ( const Tuples::Tuple& tuple , 00540 const std::string& name , 00541 const Gaudi::SymMatrix3x3& data ) 00542 { 00543 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00544 return tuple->matrix ( name , data ) ; 00545 } 00546 // ============================================================================ 00547 StatusCode GaudiPython::TupleDecorator::matrix 00548 ( const Tuples::Tuple& tuple , 00549 const std::string& name , 00550 const Gaudi::SymMatrix4x4& data ) 00551 { 00552 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00553 return tuple->matrix ( name , data ) ; 00554 } 00555 // ============================================================================ 00556 StatusCode GaudiPython::TupleDecorator::matrix 00557 ( const Tuples::Tuple& tuple , 00558 const std::string& name , 00559 const Gaudi::SymMatrix5x5& data ) 00560 { 00561 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00562 return tuple->matrix ( name , data ) ; 00563 } 00564 // ============================================================================ 00565 StatusCode GaudiPython::TupleDecorator::matrix 00566 ( const Tuples::Tuple& tuple , 00567 const std::string& name , 00568 const Gaudi::SymMatrix6x6& data ) 00569 { 00570 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00571 return tuple->matrix ( name , data ) ; 00572 } 00573 // ============================================================================ 00574 StatusCode GaudiPython::TupleDecorator::matrix 00575 ( const Tuples::Tuple& tuple , 00576 const std::string& name , 00577 const Gaudi::SymMatrix7x7& data ) 00578 { 00579 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00580 return tuple->matrix ( name , data ) ; 00581 } 00582 // ============================================================================ 00583 StatusCode GaudiPython::TupleDecorator::matrix 00584 ( const Tuples::Tuple& tuple , 00585 const std::string& name , 00586 const Gaudi::SymMatrix8x8& data ) 00587 { 00588 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00589 return tuple->matrix ( name , data ) ; 00590 } 00591 // ============================================================================ 00592 StatusCode GaudiPython::TupleDecorator::matrix 00593 ( const Tuples::Tuple& tuple , 00594 const std::string& name , 00595 const Gaudi::SymMatrix9x9& data ) 00596 { 00597 if ( !tuple.valid() ) { return StatusCode::FAILURE ; } 00598 return tuple->matrix ( name , data ) ; 00599 } 00600 // ============================================================================ 00601 Tuples::Tuple GaudiPython::TupleAlgDecorator::nTuple 00602 ( const GaudiTupleAlg& algo , 00603 const std::string& title , 00604 const CLID& clid ) 00605 { 00606 return algo.nTuple ( title , clid ) ; 00607 } 00608 // ============================================================================ 00609 Tuples::Tuple GaudiPython::TupleAlgDecorator::nTuple 00610 ( const GaudiTupleAlg& algo , 00611 const GaudiAlg::TupleID& ID , 00612 const std::string& title , 00613 const CLID& clid ) 00614 { 00615 return algo.nTuple ( ID , title , clid ) ; 00616 } 00617 // ============================================================================ 00618 Tuples::Tuple GaudiPython::TupleAlgDecorator::nTuple 00619 ( const GaudiTupleAlg& algo , 00620 const int ID , 00621 const std::string& title , 00622 const CLID& clid ) 00623 { 00624 return algo.nTuple ( ID , title , clid ) ; 00625 } 00626 // ============================================================================ 00627 Tuples::Tuple GaudiPython::TupleAlgDecorator::nTuple 00628 ( const GaudiTupleAlg& algo , 00629 const std::string& ID , 00630 const std::string& title , 00631 const CLID& clid ) 00632 { 00633 return algo.nTuple ( ID , title , clid ) ; 00634 } 00635 // ============================================================================ 00636 Tuples::Tuple GaudiPython::TupleAlgDecorator::evtCol 00637 ( const GaudiTupleAlg& algo , 00638 const std::string& title , 00639 const CLID& clid ) 00640 { 00641 return algo.evtCol ( title , clid ) ; 00642 } 00643 // ============================================================================ 00644 Tuples::Tuple GaudiPython::TupleAlgDecorator::evtCol 00645 ( const GaudiTupleAlg& algo , 00646 const GaudiAlg::TupleID& ID , 00647 const std::string& title , 00648 const CLID& clid ) 00649 { 00650 return algo.evtCol ( ID , title , clid ) ; 00651 } 00652 // ============================================================================ 00653 Tuples::Tuple GaudiPython::TupleAlgDecorator::evtCol 00654 ( const GaudiTupleAlg& algo , 00655 const int ID , 00656 const std::string& title , 00657 const CLID& clid ) 00658 { 00659 return algo.evtCol ( ID , title , clid ) ; 00660 } 00661 // ============================================================================ 00662 Tuples::Tuple GaudiPython::TupleAlgDecorator::evtCol 00663 ( const GaudiTupleAlg& algo , 00664 const std::string& ID , 00665 const std::string& title , 00666 const CLID& clid ) 00667 { 00668 return algo.evtCol ( ID , title , clid ) ; 00669 } 00670 // ============================================================================ 00671 // The END 00672 // ============================================================================