#ifndef _TATOFaction_H #define _TATOFaction_H /*! \brief Declaration of TATOFaction. */ /*------------------------------------------+---------------------------------*/ #include "TList.h" #include "TATOFparaDsc.h" #include "TATOFdataDsc.h" #include "TATOFnamed.h" class TH1; class TATOFaction : public TATOFnamed { public: enum { kValid = BIT(15), kEof = BIT(16) }; explicit TATOFaction(const char* name=0, const char* title=0); virtual ~TATOFaction(); Bool_t Valid() const; Bool_t Eof() const; virtual void Clear(Option_t* opt=""); virtual Bool_t Process(Int_t* p_se,Int_t i_nw); virtual Bool_t Action(Int_t* p_se,Int_t i_nw); virtual void CreateHistogram(); void DeleteHistogram(); void ClearHistogram(); void WriteHistogram(); Bool_t ValidHistogram() const; virtual void ToStream(ostream& os=cout, Option_t* option="") const; virtual void RecursiveRemove(TObject* p_obj); ClassDef(TATOFaction,0) protected: void AddDataOut(TATOFdataDsc* p_data, const char* baseclass); void AddDataIn(TATOFdataDsc* p_data, const char* baseclass); void AddPara(TATOFparaDsc* p_para, const char* baseclass); void AddHistogram(TH1* p_hist); void SetValidHistogram(Bool_t b_ok=kTRUE); Bool_t CheckDependencies(Int_t* p_se,Int_t i_nw); void SetBitAllDataOut(UInt_t i_bits); private: TList* fpDataOutList; TList* fpDataInList; TList* fpParaList; TList* fpHistList; Bool_t fbHistValid; }; #include "TATOFaction.icc" extern TATOFaction* gTATOFaction; // ALF #endif