Gaudi Framework, version v21r8

Home   Generated: 17 Mar 2010

HistoDecorator.h

Go to the documentation of this file.
00001 // $Id: HistoDecorator.h,v 1.4 2008/10/09 09:59:14 marcocle Exp $
00002 // ============================================================================
00003 #ifndef GAUDIPYTHON_HISTODECORATOR_H
00004 #define GAUDIPYTHON_HISTODECORATOR_H 1
00005 // ============================================================================
00006 // Include files
00007 // ============================================================================
00008 // GaudiAlg
00009 // ============================================================================
00010 #include "GaudiAlg/GaudiHistoAlg.h"
00011 // ============================================================================
00012 // GaudiPython
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     // 1D-profiles: by title
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     // 1D-profiles: by generic ID
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     // 1D-profiles: by numeric ID
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     // 1D-profiles: by string ID
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     // 2D-profiles: by title
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     // 2D-profiles: by generic ID
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     // 2D-profiles: by numeric ID
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     // 2D-profiles: by string ID
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 } // end of namespace GaudiPython
00660 // ============================================================================
00661 // The END
00662 // ============================================================================
00663 #endif // GAUDIPYTHON_HISTODECORATOR_H
00664 // ============================================================================

Generated at Wed Mar 17 18:06:38 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004