#ifndef VEGA_VFileDirectDB #define VEGA_VFileDirectDB //*-- Author : Damir Buskulic 30/04/02 #include #include "FrameL.h" #include "VVirtualFrameInfoDB.h" ////////////////////////////////////////////////////////////////////////// // // // VFileDirectDB // // // // File Info database for simple files // // Uses the standard Framelib // // the TOC of a set of frame files is considered as an info database // // This allows to treat the same way a small set of frame files // // and a set of frame files managed by a metadb or a BKDB // // // ////////////////////////////////////////////////////////////////////////// class VFileDirectDB : public VVirtualFrameInfoDB { private : TString mFrameFileName; // Set of frame file names FrFile* mFrameFile; // Set of frame files Bool_t mIsOpened; // DB opened flag TString mPathToDB; // path to db file public : VFileDirectDB(); VFileDirectDB(char* filename, Option_t* mode="READ",char* frfilenames="", Option_t* option="R"); virtual ~VFileDirectDB(); // Opening and building the database virtual Bool_t Open(char* pathtoDB, Option_t* openopt = "READ"); virtual void Close(); // Drawing and getting information about the database virtual const char* GetOption() {return 0;} virtual const char* GetPathToDB() {return mPathToDB.Data();} virtual Bool_t IsOpened() {return mIsOpened;} virtual Double_t GetStart(); virtual Double_t GetEnd(); virtual void Print(Option_t* opt=""); // Getting the metadata information virtual void GetMetaData(VMetaData* meta, Double_t time); virtual void NextMetaData(VMetaData* meta); virtual void PreviousMetaData(VMetaData* meta); virtual void NextMetaData(VMetaData* meta, VConditionSet* condset); virtual void NextMetaData(VMetaData* meta, Double_t time, VConditionFormula* condf=0); virtual void NextMetaData(VMetaData* meta, Double_t time, VConditionSet* condset); virtual void NextMetaData(VMetaData* meta, Double_t time, const char* selection); ClassDef(VFileDirectDB,0) // Local frame database }; #endif