ROOT logo
// File: hparrootfileio.h
// Author: Ilse Koenig
//
/////////////////////////////////////////////////////////////////////////
// Interface class for parameter I/O from ROOT file                    //
/////////////////////////////////////////////////////////////////////////

#ifndef HPARROOTFILEIO_H
#define HPARROOTFILEIO_H

#include "hpario.h"
#include "TFile.h"
#include "TList.h"
#include <string.h>

class HSpectrometer;
class HRun;

class HParRootFile : public TFile {
public:
  HRun* run;     //! pointer to current run in ROOT file
  HParRootFile(const Text_t* fname,const Option_t* option="READ",
               const Text_t* ftitle="",Int_t compress=1);
  ~HParRootFile();
  HRun* getRun() {return run;}
  void readVersions(HRun*);
  ClassDef(HParRootFile,0) // ROOT file for Parameter I/O 
};


class HParRootFileIo : public HParIo {
protected:
  HParRootFile* file;  // pointer to ROOT file
public:
  HParRootFileIo();
  ~HParRootFileIo();
  Bool_t open(const Text_t* fname,const Option_t* option="READ",
              const Text_t* ftitle="",Int_t compress=1);
  void close();
  void print();
  HParRootFile* getParRootFile();
  void readVersions(HRun*);
  TList* getList();
  Bool_t check() {
    // returns kTRUE if file is open
    if (file) return file->IsOpen();
    else return kFALSE;
  }
  void cd() {
    // sets the global ROOT file pointer gFile
    if (file) file->cd();
  }
  ClassDef(HParRootFileIo,0) // Parameter I/O from ROOT files
};

#endif  /* !HPARROOTFILEIO_H */

 hparrootfileio.h:1
 hparrootfileio.h:2
 hparrootfileio.h:3
 hparrootfileio.h:4
 hparrootfileio.h:5
 hparrootfileio.h:6
 hparrootfileio.h:7
 hparrootfileio.h:8
 hparrootfileio.h:9
 hparrootfileio.h:10
 hparrootfileio.h:11
 hparrootfileio.h:12
 hparrootfileio.h:13
 hparrootfileio.h:14
 hparrootfileio.h:15
 hparrootfileio.h:16
 hparrootfileio.h:17
 hparrootfileio.h:18
 hparrootfileio.h:19
 hparrootfileio.h:20
 hparrootfileio.h:21
 hparrootfileio.h:22
 hparrootfileio.h:23
 hparrootfileio.h:24
 hparrootfileio.h:25
 hparrootfileio.h:26
 hparrootfileio.h:27
 hparrootfileio.h:28
 hparrootfileio.h:29
 hparrootfileio.h:30
 hparrootfileio.h:31
 hparrootfileio.h:32
 hparrootfileio.h:33
 hparrootfileio.h:34
 hparrootfileio.h:35
 hparrootfileio.h:36
 hparrootfileio.h:37
 hparrootfileio.h:38
 hparrootfileio.h:39
 hparrootfileio.h:40
 hparrootfileio.h:41
 hparrootfileio.h:42
 hparrootfileio.h:43
 hparrootfileio.h:44
 hparrootfileio.h:45
 hparrootfileio.h:46
 hparrootfileio.h:47
 hparrootfileio.h:48
 hparrootfileio.h:49
 hparrootfileio.h:50
 hparrootfileio.h:51
 hparrootfileio.h:52
 hparrootfileio.h:53
 hparrootfileio.h:54
 hparrootfileio.h:55
 hparrootfileio.h:56
 hparrootfileio.h:57