#ifndef STNTUPLE_TStnTriggerTable #define STNTUPLE_TStnTriggerTable //----------------------------------------------------------------------------- // description of the trigger table to be stored in STNTUPLE // Author: P. Murat (CDF/FNAL) // Date: Nov 2 2001 //----------------------------------------------------------------------------- #include "TObjArray.h" #include class TStnTriggerTable: public TObject { protected: TString fObjName; //! name of this for list searching protected: Int_t fTag; // trigger table tag TString fName; // trigger table name TObjArray* fListOfTriggers[3]; // descriptions of L1-L2-L3 triggers //----------------------------------------------------------------------------- // methods //----------------------------------------------------------------------------- public: TStnTriggerTable(); ~TStnTriggerTable(); // ****** accessors const char* GetTableName() const { return fName.Data(); } Int_t GetTableTag() const { return fTag; } Int_t GetVersion () const ; Int_t NL1Triggers() const { return fListOfTriggers[0]->GetEntriesFast(); } Int_t NL2Triggers() const { return fListOfTriggers[1]->GetEntriesFast(); } Int_t NL3Triggers() const { return fListOfTriggers[2]->GetEntriesFast(); } Int_t NTriggers(Int_t Level) const { return fListOfTriggers[Level-1]->GetEntriesFast(); } // name of I-th trigger of a given // Level (1,2,3) const TStnTrigger* GetTrigger(Int_t Level, Int_t I) const { return (TStnTrigger*) fListOfTriggers[Level-1]->UncheckedAt(I); } // return list of triggers which names // match given pattern void GetListOfTriggers(Int_t Level, const char* Pattern, TObjArray* List); // ****** modifiers void SetName (const char* Name) { fName = Name; } void SetTag (Int_t Tag ) { fTag = Tag; } void AddTrigger(const TStnTrigger* Trigger); // ****** overloaded methods of TObject const char* GetName() const { return fObjName.Data(); } void Delete(Option_t* option = ""); void Print (Option_t* option = "") const; // *MENU* ClassDef(TStnTriggerTable,1) }; #endif