eicplot
trunk
EIC ROOT plotting utilities
|
00001 00008 #ifndef _EICPLOT_CREDITS_H_ 00009 #define _EICPLOT_CREDITS_H_ 00010 00011 #include <list> 00012 #include <string> 00013 #include <utility> 00014 00015 #include <Rtypes.h> // For ClassDef macro 00016 00017 class TH1; 00018 class TPave; 00019 class TText; 00020 class TVirtualPad; 00021 00022 namespace erhic { 00023 00031 class Credits { 00032 public: 00033 00035 virtual ~Credits() { } 00036 00049 static TText* Draw(TVirtualPad* = NULL); 00050 00052 static std::string Text(); 00053 00057 static double MinimumMargin(); 00058 00060 static void SetMinimumMargin(double); 00061 00063 static TVirtualPad* Test(); 00064 00065 protected: 00066 00072 static std::pair<double, double> ComputeCoordinates(TVirtualPad&); 00073 00075 static std::list<TH1*> GetHists(TVirtualPad&); 00076 00081 static bool InterferesWithCredits(TPave*); 00082 00083 static std::string smText; 00084 static double smMinMargin; 00085 00086 ClassDef(erhic::Credits, 1) 00087 }; 00088 00089 inline std::string Credits::Text() { 00090 return smText; 00091 } 00092 00093 inline double Credits::MinimumMargin() { 00094 return smMinMargin; 00095 } 00096 00097 inline void Credits::SetMinimumMargin(double val) { 00098 smMinMargin = val; 00099 } 00100 00101 } // namespace erhic 00102 00103 #endif