00001 #ifndef EVENT_LOOP_BACKGROUND_TSELECTOR_H
00002 #define EVENT_LOOP_BACKGROUND_TSELECTOR_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <EventLoop/Global.h>
00015
00016 #include <TSelector.h>
00017 #include <memory>
00018
00019 class TProofOutputFile;
00020
00021 namespace EL
00022 {
00027
00028 class BackgroundTSelector : public TSelector
00029 {
00030
00031
00032
00033
00036 public:
00037 void testInvariant () const;
00038
00039
00042 public:
00043 BackgroundTSelector ();
00044
00045
00048 public:
00049 ~BackgroundTSelector ();
00050
00051
00053 public:
00054
00055 virtual void SlaveBegin(TTree*) override;
00056 virtual void Init(TTree*) override;
00057 virtual Bool_t Notify() override;
00058 virtual Bool_t Process(Long64_t) override;
00059 virtual void SlaveTerminate() override;
00060
00061 virtual int Version() const override;
00062
00063
00064
00065
00066
00067
00068
00070 private:
00071 ProofArgs *m_args;
00072
00074 private:
00075 std::auto_ptr<BackgroundSocket> m_socket;
00076
00078 private:
00079 TTree *m_tree;
00080
00082 private:
00083 bool m_currentInput;
00084
00086 private:
00087 std::vector<TProofOutputFile*> m_outputFiles;
00088
00089 #pragma GCC diagnostic push
00090 #pragma GCC diagnostic ignored "-Wpragmas"
00091 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
00092 #pragma GCC diagnostic ignored "-Winconsistent-missing-override"
00093 ClassDef (BackgroundTSelector, 1);
00094 #pragma GCC diagnostic pop
00095 };
00096 }
00097
00098 #endif