00001
00002
00003 #ifndef GAUDIPYTHON_HISTODECORATOR_H
00004 #define GAUDIPYTHON_HISTODECORATOR_H 1
00005
00006
00007
00008
00009
00010 #include "GaudiAlg/GaudiHistoAlg.h"
00011
00012
00013
00014 #include "GaudiPython/GaudiPython.h"
00015 #include "GaudiPython/Vector.h"
00016
00017 class GaudiHistoTool ;
00018
00019 namespace GaudiPython
00020 {
00027 class GAUDI_API HistoDecorator
00028 {
00029 public:
00030
00031 typedef std::vector<GaudiAlg::ID> IDs ;
00032 typedef std::vector<AIDA::IHistogram1D*> Histos1D ;
00033 typedef std::vector<AIDA::IHistogram2D*> Histos2D ;
00034 typedef std::vector<AIDA::IHistogram3D*> Histos3D ;
00035 typedef std::vector<AIDA::IProfile1D*> Profiles1D ;
00036 typedef std::vector<AIDA::IProfile2D*> Profiles2D ;
00037
00038 public:
00039
00049 static AIDA::IHistogram1D* plot1D
00050 ( const GaudiHistoAlg& algo ,
00051 const double data ,
00052 const std::string& title ,
00053 const double low ,
00054 const double high ,
00055 const unsigned long bins = 100 ) ;
00056
00067 static AIDA::IHistogram1D* plot1D
00068 ( const GaudiHistoAlg& algo ,
00069 const double data ,
00070 const GaudiAlg::HistoID& ID ,
00071 const std::string& title ,
00072 const double low ,
00073 const double high ,
00074 const unsigned long bins = 100 ) ;
00075
00086 static AIDA::IHistogram1D* plot1D
00087 ( const GaudiHistoAlg& algo ,
00088 const double data ,
00089 const long ID ,
00090 const std::string& title ,
00091 const double low ,
00092 const double high ,
00093 const unsigned long bins = 100 ) ;
00094
00105 static AIDA::IHistogram1D* plot1D
00106 ( const GaudiHistoAlg& algo ,
00107 const double data ,
00108 const std::string& ID ,
00109 const std::string& title ,
00110 const double low ,
00111 const double high ,
00112 const unsigned long bins = 100 ) ;
00113
00123 static AIDA::IHistogram1D* plot1D
00124 ( const GaudiHistoAlg& algo ,
00125 const GaudiPython::Vector& data ,
00126 const std::string& title ,
00127 const double low ,
00128 const double high ,
00129 const unsigned long bins = 100 ) ;
00130
00141 static AIDA::IHistogram1D* plot1D
00142 ( const GaudiHistoAlg& algo ,
00143 const GaudiPython::Vector& data ,
00144 const GaudiAlg::HistoID& ID ,
00145 const std::string& title ,
00146 const double low ,
00147 const double high ,
00148 const unsigned long bins = 100 ) ;
00149
00160 static AIDA::IHistogram1D* plot1D
00161 ( const GaudiHistoAlg& algo ,
00162 const GaudiPython::Vector& data ,
00163 const long ID ,
00164 const std::string& title ,
00165 const double low ,
00166 const double high ,
00167 const unsigned long bins = 100 ) ;
00168
00179 static AIDA::IHistogram1D* plot1D
00180 ( const GaudiHistoAlg& algo ,
00181 const GaudiPython::Vector& data ,
00182 const std::string& ID ,
00183 const std::string& title ,
00184 const double low ,
00185 const double high ,
00186 const unsigned long bins = 100 ) ;
00187
00201 static AIDA::IHistogram2D* plot2D
00202 ( const GaudiHistoAlg& algo ,
00203 const double valueX ,
00204 const double valueY ,
00205 const std::string& title ,
00206 const double lowX ,
00207 const double highX ,
00208 const double lowY ,
00209 const double highY ,
00210 const unsigned long binsX = 50 ,
00211 const unsigned long binsY = 50 ,
00212 const double weight = 1.0 ) ;
00213
00228 static AIDA::IHistogram2D* plot2D
00229 ( const GaudiHistoAlg& algo ,
00230 const double valueX ,
00231 const double valueY ,
00232 const GaudiAlg::HistoID& ID ,
00233 const std::string& title ,
00234 const double lowX ,
00235 const double highX ,
00236 const double lowY ,
00237 const double highY ,
00238 const unsigned long binsX = 50 ,
00239 const unsigned long binsY = 50 ,
00240 const double weight = 1.0 ) ;
00241
00256 static AIDA::IHistogram2D* plot2D
00257 ( const GaudiHistoAlg& algo ,
00258 const double valueX ,
00259 const double valueY ,
00260 const long ID ,
00261 const std::string& title ,
00262 const double lowX ,
00263 const double highX ,
00264 const double lowY ,
00265 const double highY ,
00266 const unsigned long binsX = 50 ,
00267 const unsigned long binsY = 50 ,
00268 const double weight = 1.0 ) ;
00269
00284 static AIDA::IHistogram2D* plot2D
00285 ( const GaudiHistoAlg& algo ,
00286 const double valueX ,
00287 const double valueY ,
00288 const std::string& ID ,
00289 const std::string& title ,
00290 const double lowX ,
00291 const double highX ,
00292 const double lowY ,
00293 const double highY ,
00294 const unsigned long binsX = 50 ,
00295 const unsigned long binsY = 50 ,
00296 const double weight = 1.0 ) ;
00297
00315 static AIDA::IHistogram3D* plot3D
00316 ( const GaudiHistoAlg& algo ,
00317 const double valueX ,
00318 const double valueY ,
00319 const double valueZ ,
00320 const std::string& title ,
00321 const double lowX ,
00322 const double highX ,
00323 const double lowY ,
00324 const double highY ,
00325 const double lowZ ,
00326 const double highZ ,
00327 const unsigned long binsX = 10 ,
00328 const unsigned long binsY = 10 ,
00329 const unsigned long binsZ = 10 ,
00330 const double weight = 1.0 ) ;
00331
00350 static AIDA::IHistogram3D* plot3D
00351 ( const GaudiHistoAlg& algo ,
00352 const double valueX ,
00353 const double valueY ,
00354 const double valueZ ,
00355 const GaudiAlg::HistoID& ID ,
00356 const std::string& title ,
00357 const double lowX ,
00358 const double highX ,
00359 const double lowY ,
00360 const double highY ,
00361 const double lowZ ,
00362 const double highZ ,
00363 const unsigned long binsX = 10 ,
00364 const unsigned long binsY = 10 ,
00365 const unsigned long binsZ = 10 ,
00366 const double weight = 1.0 ) ;
00367
00386 static AIDA::IHistogram3D* plot3D
00387 ( const GaudiHistoAlg& algo ,
00388 const double valueX ,
00389 const double valueY ,
00390 const double valueZ ,
00391 const long ID ,
00392 const std::string& title ,
00393 const double lowX ,
00394 const double highX ,
00395 const double lowY ,
00396 const double highY ,
00397 const double lowZ ,
00398 const double highZ ,
00399 const unsigned long binsX = 10 ,
00400 const unsigned long binsY = 10 ,
00401 const unsigned long binsZ = 10 ,
00402 const double weight = 1.0 ) ;
00403
00422 static AIDA::IHistogram3D* plot3D
00423 ( const GaudiHistoAlg& algo ,
00424 const double valueX ,
00425 const double valueY ,
00426 const double valueZ ,
00427 const std::string& ID ,
00428 const std::string& title ,
00429 const double lowX ,
00430 const double highX ,
00431 const double lowY ,
00432 const double highY ,
00433 const double lowZ ,
00434 const double highZ ,
00435 const unsigned long binsX = 10 ,
00436 const unsigned long binsY = 10 ,
00437 const unsigned long binsZ = 10 ,
00438 const double weight = 1.0 ) ;
00439
00440
00441
00442 static AIDA::IProfile1D* profile1D
00443 ( const GaudiHistoAlg& algo ,
00444 const double valueX ,
00445 const double valueY ,
00446 const std::string& title ,
00447 const double lowX ,
00448 const double highX ,
00449 const unsigned long binsX = 100 ,
00450 const std::string& opt = "" ,
00451 const double lowY = -std::numeric_limits<double>::max() ,
00452 const double highY = std::numeric_limits<double>::max() ,
00453 const double weight = 1.0 ) ;
00454
00455
00456
00457 static AIDA::IProfile1D* profile1D
00458 ( const GaudiHistoAlg& algo ,
00459 const double valueX ,
00460 const double valueY ,
00461 const GaudiAlg::HistoID& ID ,
00462 const std::string& title ,
00463 const double lowX ,
00464 const double highX ,
00465 const unsigned long binsX = 100 ,
00466 const std::string& opt = "" ,
00467 const double lowY = -std::numeric_limits<double>::max() ,
00468 const double highY = std::numeric_limits<double>::max() ,
00469 const double weight = 1.0 ) ;
00470
00471
00472
00473 static AIDA::IProfile1D* profile1D
00474 ( const GaudiHistoAlg& algo ,
00475 const double valueX ,
00476 const double valueY ,
00477 const long ID ,
00478 const std::string& title ,
00479 const double lowX ,
00480 const double highX ,
00481 const unsigned long binsX = 100 ,
00482 const std::string& opt = "" ,
00483 const double lowY = -std::numeric_limits<double>::max() ,
00484 const double highY = std::numeric_limits<double>::max() ,
00485 const double weight = 1.0 ) ;
00486
00487
00488
00489 static AIDA::IProfile1D* profile1D
00490 ( const GaudiHistoAlg& algo ,
00491 const double valueX ,
00492 const double valueY ,
00493 const std::string& ID ,
00494 const std::string& title ,
00495 const double lowX ,
00496 const double highX ,
00497 const unsigned long binsX = 100 ,
00498 const std::string& opt = "" ,
00499 const double lowY = -std::numeric_limits<double>::max() ,
00500 const double highY = std::numeric_limits<double>::max() ,
00501 const double weight = 1.0 ) ;
00502
00503
00504
00505 static AIDA::IProfile2D* profile2D
00506 ( const GaudiHistoAlg& algo ,
00507 const double valueX ,
00508 const double valueY ,
00509 const double valueZ ,
00510 const std::string& title ,
00511 const double lowX ,
00512 const double highX ,
00513 const double lowY ,
00514 const double highY ,
00515 const unsigned long binsX = 50 ,
00516 const unsigned long binsY = 50 ,
00517 const double weight = 1.0 ) ;
00518
00519
00520
00521 static AIDA::IProfile2D* profile2D
00522 ( const GaudiHistoAlg& algo ,
00523 const double valueX ,
00524 const double valueY ,
00525 const double valueZ ,
00526 const GaudiAlg::HistoID& ID ,
00527 const std::string& title ,
00528 const double lowX ,
00529 const double highX ,
00530 const double lowY ,
00531 const double highY ,
00532 const unsigned long binsX = 50 ,
00533 const unsigned long binsY = 50 ,
00534 const double weight = 1.0 ) ;
00535
00536
00537
00538 static AIDA::IProfile2D* profile2D
00539 ( const GaudiHistoAlg& algo ,
00540 const double valueX ,
00541 const double valueY ,
00542 const double valueZ ,
00543 const long ID ,
00544 const std::string& title ,
00545 const double lowX ,
00546 const double highX ,
00547 const double lowY ,
00548 const double highY ,
00549 const unsigned long binsX = 50 ,
00550 const unsigned long binsY = 50 ,
00551 const double weight = 1.0 ) ;
00552
00553
00554
00555 static AIDA::IProfile2D* profile2D
00556 ( const GaudiHistoAlg& algo ,
00557 const double valueX ,
00558 const double valueY ,
00559 const double valueZ ,
00560 const std::string& ID ,
00561 const std::string& title ,
00562 const double lowX ,
00563 const double highX ,
00564 const double lowY ,
00565 const double highY ,
00566 const unsigned long binsX = 50 ,
00567 const unsigned long binsY = 50 ,
00568 const double weight = 1.0 ) ;
00569
00570 public:
00571
00572 static size_t _histos_a_
00573 ( const GaudiHistoAlg* cmp ,
00574 IDs& ids ,
00575 Histos1D& histos ) ;
00576 static size_t _histos_t_
00577 ( const GaudiHistoTool* cmp ,
00578 IDs& ids ,
00579 Histos1D& histos ) ;
00580 static size_t _histos_a_
00581 ( const IAlgorithm* cmp ,
00582 IDs& ids ,
00583 Histos1D& histos ) ;
00584 static size_t _histos_t_
00585 ( const IAlgTool* cmp ,
00586 IDs& ids ,
00587 Histos1D& histos ) ;
00588
00589 static size_t _histos_a_
00590 ( const GaudiHistoAlg* cmp ,
00591 IDs& ids ,
00592 Histos2D& histos ) ;
00593 static size_t _histos_t_
00594 ( const GaudiHistoTool* cmp ,
00595 IDs& ids ,
00596 Histos2D& histos ) ;
00597 static size_t _histos_a_
00598 ( const IAlgorithm* cmp ,
00599 IDs& ids ,
00600 Histos2D& histos ) ;
00601 static size_t _histos_t_
00602 ( const IAlgTool* cmp ,
00603 IDs& ids ,
00604 Histos2D& histos ) ;
00605
00606 static size_t _histos_a_
00607 ( const GaudiHistoAlg* cmp ,
00608 IDs& ids ,
00609 Histos3D& histos ) ;
00610 static size_t _histos_t_
00611 ( const GaudiHistoTool* cmp ,
00612 IDs& ids ,
00613 Histos3D& histos ) ;
00614 static size_t _histos_a_
00615 ( const IAlgorithm* cmp ,
00616 IDs& ids ,
00617 Histos3D& histos ) ;
00618 static size_t _histos_t_
00619 ( const IAlgTool* cmp ,
00620 IDs& ids ,
00621 Histos3D& histos ) ;
00622
00623 static size_t _histos_a_
00624 ( const GaudiHistoAlg* cmp ,
00625 IDs& ids ,
00626 Profiles1D& histos ) ;
00627 static size_t _histos_t_
00628 ( const GaudiHistoTool* cmp ,
00629 IDs& ids ,
00630 Profiles1D& histos ) ;
00631 static size_t _histos_a_
00632 ( const IAlgorithm* cmp ,
00633 IDs& ids ,
00634 Profiles1D& histos ) ;
00635 static size_t _histos_t_
00636 ( const IAlgTool* cmp ,
00637 IDs& ids ,
00638 Profiles1D& histos ) ;
00639
00640 static size_t _histos_a_
00641 ( const GaudiHistoAlg* cmp ,
00642 IDs& ids ,
00643 Profiles2D& histos ) ;
00644 static size_t _histos_t_
00645 ( const GaudiHistoTool* cmp ,
00646 IDs& ids ,
00647 Profiles2D& histos ) ;
00648 static size_t _histos_a_
00649 ( const IAlgorithm* cmp ,
00650 IDs& ids ,
00651 Profiles2D& histos ) ;
00652 static size_t _histos_t_
00653 ( const IAlgTool* cmp ,
00654 IDs& ids ,
00655 Profiles2D& histos ) ;
00656
00657 };
00658
00659 }
00660
00661
00662
00663 #endif // GAUDIPYTHON_HISTODECORATOR_H
00664