PdbObjyBankWrapper.hh
//-----------------------------------------------------------------------------
// $Header: /afs/rhic/phenix/PHENIX_CVS/offline/database/pdbcal/PdbObjyBankWrapper.hh,v 1.6 2000/07/05 18:27:36 messer Exp $
//
// The pdbcal package
// Copyright (C) PHENIX collaboration, 1999
//
// Declaration of class PdbObjyBankWrapper
//
// Purpose: Calibration bank wrapper class for Objy
//
// Description:
//
// Author: Matthias Messer
//-----------------------------------------------------------------------------
#ifndef __PDBOBJYBANKWRAPPER_HH__
#define __PDBOBJYBANKWRAPPER_HH__
#include "PdbCalBank.hh"
#include "PdbObjyCalHeader.h"
#include "PdbObjyCalBank.h"
#include "oo.h"
class PdbCalChan;
class PdbObjyBankWrapper : public PdbCalBank {
public:
PdbObjyBankWrapper();
PdbObjyBankWrapper(ooHandle(PdbObjyCalHeader));
virtual ~PdbObjyBankWrapper();
void printHeader() const { header->print(); }
void print();
void printEntry(size_t i) { if(!bank) bank=header->getBank(); return bank->printEntry(i); }
size_t getLength() { if(!bank) bank=header->getBank(); return bank->getLength(); }
PdbCalChan & getEntry(size_t i) { if(!bank) bank=header->getBank(); return bank->getEntry(i); }
void setLength(size_t val) { if(!bank) bank=header->getBank(); bank->setLength(val); }
PdbBankID getBankID() const { return header->getBankID(); }
PHTimeStamp getInsertTime() const { return header->getInsertTime(); }
PHTimeStamp getStartValTime() const { return header->getStartValTime(); }
PHTimeStamp getEndValTime() const { return header->getEndValTime(); }
PHString getDescription() const { return header->getDescription(); }
PHString getUserName() const { return header->getUserName(); }
void setBankID(const PdbBankID & val) { checkAndOpen(header); header->setBankID(val); }
void setInsertTime(const PHTimeStamp & val) { checkAndOpen(header); header->setInsertTime(val); }
void setStartValTime(const PHTimeStamp & val) { checkAndOpen(header); header->setStartValTime(val); }
void setEndValTime(const PHTimeStamp & val) { checkAndOpen(header); header->setEndValTime(val); }
void setDescription(const PHString & val) { checkAndOpen(header); header->setDescription(val); }
void setUserName(const PHString & val) { checkAndOpen(header); header->setUserName(val); }
ooHandle(PdbObjyCalHeader) getHeader() { return header; }
ooHandle(PdbObjyCalBank) getBank() { return bank; }
virtual int isValid(const PHTimeStamp &) const;
private:
void checkAndOpen(ooHandle(ooObj));
private:
ooHandle(PdbObjyCalHeader) header;
ooHandle(PdbObjyCalBank) bank;
};
#endif /* __PDBOBJYBANKWRAPPER_HH__ */