Skip to content
Snippets Groups Projects
THcParmList.h 1.26 KiB
Newer Older
#ifndef ROOT_THcParmList
#define ROOT_THcParmList

//////////////////////////////////////////////////////////////////////////
//
// THcParmList
//
//////////////////////////////////////////////////////////////////////////

#include "THaVarList.h"
#include "THaTextvars.h"

using namespace std;

class THcParmList : public THaVarList {

public:
 
  THcParmList();
  virtual ~THcParmList() { Clear(); delete TextList; }
  virtual void Load( const char *fname, Int_t RunNumber=0);
  virtual void PrintFull(Option_t *opt="") const;

  const char* GetString(const std::string& name) const {
    return(TextList->Get(name, 0));
  }

  Int_t AddString(const std::string& name, const std::string& value) {
    return(TextList->Add(name, value));
  }
  void RemoveString(const std::string& name) {
    TextList->Remove(name);
  }

  Int_t LoadParmValues(const DBRequest* list, const char* prefix=""); // assign values to the variables in list
  Int_t GetArray(const char* attr, Int_t* array, Int_t size);
  Int_t GetArray(const char* attr, Double_t* array, Int_t size);

  template<class T>
    Int_t ReadArray(const char* attrC, T* array, Int_t size);

protected:

  ClassDef(THcParmList,0) // List of analyzer global parameters

};
#endif