5 #pragma warning(disable:1572)
12 #include "CLHEP/Matrix/GenMatrix.h"
13 #include "CLHEP/Matrix/Matrix.h"
14 #include "CLHEP/Matrix/Vector.h"
17 using namespace CLHEP;
40 const std::string& name ,
51 if ( !tuple.
valid() ) {
return 0 ; }
52 return tuple->
tuple() ;
58 if ( !tuple.
valid() ) {
return 0 ; }
59 return tuple->
tuple() ;
69 return tuple->
write();
74 const std::string& name ,
76 {
return _fill ( tuple , name , value ) ; }
80 const std::string& name ,
86 return tuple -> column ( name , value , minv , maxv ) ;
91 const std::string& name ,
93 {
return _fill ( tuple , name , value ) ; }
97 const std::string& name ,
98 const long long value )
99 {
return _fill ( tuple , name , value ) ; }
103 const std::string& name ,
104 const unsigned long long value )
105 {
return _fill ( tuple , name , value ) ; }
109 const std::string& name ,
111 {
return _fill ( tuple , name , value ) ; }
115 const std::string& name ,
119 return tuple->
column( name , value ) ;
125 {
return column ( tuple ,
"Address" , value ) ; }
129 const std::string& name ,
131 {
return _fill ( tuple , name , value ) ; }
135 const std::string& name ,
137 {
return _fill ( tuple , name , value ) ; }
141 const std::string& name ,
143 {
return _fill ( tuple , name , value ) ; }
147 const std::string& name ,
148 const std::vector<double>& data ,
149 const std::string& length ,
153 return tuple->
farray( name , data.begin() , data.end() , length , maxv ) ;
158 const std::string& name ,
161 const std::string& length ,
165 if ( !data.empty() && cols != data.front().size() )
167 Error (
"GP:fmatrix(1): mismatch in matrix dimensions!" ) ; }
168 return tuple->
fmatrix( name , data , data.size() , cols , length , maxv ) ;
173 const std::string& name ,
175 const std::string& length ,
179 return tuple->
fmatrix ( name , info , length , maxv ) ;
184 const std::string& name ,
185 const std::vector<double>& data )
188 return tuple->
array ( name , data.begin() , data.end() ) ;
193 const std::string& name ,
197 return tuple->
array( name , data ) ;
202 const std::string& name ,
206 return tuple->
array( name , data ) ;
211 const std::string& name ,
215 return tuple->
array( name , data.begin() , data.begin() + 3 ) ;
220 const std::string& name ,
225 return tuple->
array( name , data.begin() , data.begin()+4 ) ;
230 const std::string& name ,
234 return tuple->
array( name , data ) ;
239 const std::string& name ,
243 return tuple->
array( name , data ) ;
248 const std::string& name ,
252 return tuple->
array( name , data ) ;
257 const std::string& name ,
261 return tuple->
array( name , data ) ;
266 const std::string& name ,
270 return tuple->
array( name , data ) ;
275 const std::string& name ,
282 Warning (
"GP:matrix(1): empty fixed matrix, skip matrix " ) ; }
283 if ( cols != data.front().size() )
285 Error (
"GP:matrix(1): mismatch in fixed matrix dimensions!" ) ; }
286 return tuple -> matrix ( name , data , data.size() , cols ) ;
291 const std::string& name ,
295 return tuple->
matrix ( name , data ) ;
300 const std::string& name ,
304 return tuple->
matrix ( name , data ) ;
309 const std::string& name ,
313 return tuple->
matrix ( name , data ) ;
318 const std::string& name ,
322 return tuple->
matrix ( name , data ) ;
327 const std::string& name ,
331 return tuple->
matrix ( name , data ) ;
336 const std::string& name ,
340 return tuple->
matrix ( name , data ) ;
345 const std::string& name ,
349 return tuple->
matrix ( name , data ) ;
354 const std::string& name ,
358 return tuple->
matrix ( name , data ) ;
363 const std::string& name ,
367 return tuple->
matrix ( name , data ) ;
372 const std::string& name ,
376 return tuple->
matrix ( name , data ) ;
381 const std::string& name ,
385 return tuple->
matrix ( name , data ) ;
390 const std::string& name ,
394 return tuple->
matrix ( name , data ) ;
399 const std::string& name ,
403 return tuple->
matrix ( name , data ) ;
408 const std::string& name ,
412 return tuple->
matrix ( name , data ) ;
417 const std::string& name ,
421 return tuple->
matrix ( name , data ) ;
426 const std::string& name ,
430 return tuple->
matrix ( name , data ) ;
435 const std::string& name ,
439 return tuple->
matrix ( name , data ) ;
444 const std::string& name ,
448 return tuple->
matrix ( name , data ) ;
453 const std::string& name ,
457 return tuple->
matrix ( name , data ) ;
462 const std::string& name ,
466 return tuple->
matrix ( name , data ) ;
471 const std::string& name ,
475 return tuple->
matrix ( name , data ) ;
480 const std::string& name ,
484 return tuple->
matrix ( name , data ) ;
489 const std::string& name ,
493 return tuple->
matrix ( name , data ) ;
498 const std::string& name ,
502 return tuple->
matrix ( name , data ) ;
507 const std::string& name ,
511 return tuple->
matrix ( name , data ) ;
516 const std::string& name ,
520 return tuple->
matrix ( name , data ) ;
525 const std::string& name ,
529 return tuple->
matrix ( name , data ) ;
536 const Gaudi::Time& value )
537 {
return column ( tuple ,
"" , value ) ; }
543 const std::string& name ,
544 const Gaudi::Time& value )
549 sc = tuple->
column ( name +
"year" , value.year (
true ) , 1970 , 2070 ) ;
551 sc = tuple->
column ( name +
"month" , value.month (
true ) + 1 , 1 , 16 ) ;
553 sc = tuple->
column ( name +
"day" , value.day (
true ) , 0 , 32 ) ;
555 sc = tuple->
column ( name +
"hour" , value.hour (
true ) , 0 , 25 ) ;
557 sc = tuple->
column ( name +
"minute" , value.minute (
true ) , 0 , 61 ) ;
559 sc = tuple->
column ( name +
"second" , value.second (
true ) , 0 , 61 ) ;
561 sc = tuple->
column ( name +
"nsecond" , value.nsecond () ) ;
573 const std::string& name ,
574 const CLHEP::HepVector& data )
577 return tuple->
array( name , data , data.num_row() ) ;
582 const std::string& name ,
583 const CLHEP::HepVector& data ,
584 const std::string& length ,
589 const double* begin = &(data[0]);
590 const double*
end = begin + data.num_row() ;
591 return tuple->
farray ( name , begin , end , length , maxv ) ;
596 const std::string& name ,
597 const CLHEP::HepGenMatrix& data )
600 if ( 1 > data.num_col() )
602 Error (
"GP:matrix(2): illegal fixed matrix num_col" ) ; }
603 if ( 1 > data.num_row() )
605 Error (
"GP:matrix(2): illegal fixed matrix num_row" ) ; }
606 return tuple->
matrix( name , data , data.num_row() , data.num_col() ) ;
611 const std::string& name ,
612 const CLHEP::HepGenMatrix& data ,
614 const std::string& length ,
618 if ( cols != data.num_col() )
620 Error (
"GP:fmatrix(2): mismatch in matrix dimensions!" ) ; }
621 return tuple->
fmatrix( name , data , data.num_row() , cols , length , maxv ) ;
633 const std::string& title ,
636 return algo.
nTuple ( title , clid ) ;
642 const std::string& title ,
645 return algo.
nTuple ( ID , title , clid ) ;
651 const std::string& title ,
654 return algo.
nTuple ( ID , title , clid ) ;
659 const std::string& ID ,
660 const std::string& title ,
663 return algo.
nTuple ( ID , title , clid ) ;
668 const std::string& title ,
671 return algo.
evtCol ( title , clid ) ;
677 const std::string& title ,
680 return algo.
evtCol ( ID , title , clid ) ;
686 const std::string& title ,
689 return algo.
evtCol ( ID , title , clid ) ;
694 const std::string& ID ,
695 const std::string& title ,
698 return algo.
evtCol ( ID , title , clid ) ;