00001 #ifndef MULTI_DRAW_ALG_CFLOW_H
00002 #define MULTI_DRAW_ALG_CFLOW_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00016
00017
00018
00019
00020 #include <MultiDraw/Global.h>
00021
00022 #include <EventLoop/Algorithm.h>
00023
00024 class TH1;
00025
00026 namespace MD
00027 {
00028 class AlgCFlow : public EL::Algorithm
00029 {
00030
00031
00032
00033
00036 public:
00037 void testInvariant () const;
00038
00039
00043 public:
00044 AlgCFlow ();
00045
00046
00053 public:
00054 AlgCFlow (TH1 *val_hist_swallow);
00055
00056
00057
00058
00059
00060
00061
00070 private:
00071 virtual EL::StatusCode setupJob (EL::Job& job);
00072
00073
00084 private:
00085 virtual EL::StatusCode initialize ();
00086
00087
00092 private:
00093 virtual EL::StatusCode execute ();
00094
00095
00096
00097
00098
00099
00100
00102 private:
00103 TH1 *m_hist;
00104
00106 private:
00107 std::vector<std::string> m_formulas;
00108
00110 private:
00111 std::vector<Double_t> m_values;
00112
00114 private:
00115 std::vector<const Formula*> m_index;
00116
00118 private:
00119 std::vector<std::size_t> m_back;
00120
00122 private:
00123 std::vector<Double_t> m_axis;
00124
00126 private:
00127 TH1 *m_hist2;
00128
00130 private:
00131 FormulaSvc *m_formSvc;
00132
00133 ClassDef (AlgCFlow, 1);
00134 };
00135 }
00136
00137 #endif