Gaudi Framework, version v21r9

Home   Generated: 3 May 2010

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

Generated at Mon May 3 12:14:40 2010 for Gaudi Framework, version v21r9 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004