Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

TupleDecorator.cpp

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

Generated at Wed Feb 9 16:24:59 2011 for Gaudi Framework, version v22r0 by Doxygen version 1.6.2 written by Dimitri van Heesch, © 1997-2004