// File: hrichparhadasciifileio.cc
// ***************************************************************************

//*-- Author : Witold Przygoda (przygoda@psja1.if.uj.edu.pl)
//*-- Modified : 2002/23/01 by Ilse Koenig
//    last changed by Thomas Eberl Fri Aug 17 14:22:41 CEST 2001
//*-- Modified : 2000/02/11 by Witold Przygoda (przygoda@psja1.if.uj.edu.pl)

using namespace std;
#include <iostream> 
#include <iomanip>
#include "hrichparhadasciifileio.h"
#include "hades.h"
#include "hspectrometer.h"
#include "hrichdetector.h"
#include "hrichgeometrypar.h"
#include "hrichthresholdpar.h"
#include "hrichcalpar.h"
#include "hrichanalysispar.h"
#include "hrichdigitisationpar.h"
#include "hrichmappingpar.h"
#include "hrichcorrelatorpar.h"
// ***************************************************************************
//_HADES_CLASS_DESCRIPTION 
//////////////////////////////////////////////////////////////////////////////
//
//  HRichParHadAsciiFileIo
//
//  I/O in had-ascii.
//
//////////////////////////////////////////////////////////////////////////////
// ***************************************************************************


ClassImp(HRichParHadAsciiFileIo)

//----------------------------------------------------------------------------
HRichParHadAsciiFileIo::HRichParHadAsciiFileIo(HParHadAsciiFileIo* f) 
                            : HDetParHadAsciiFileIo(f) {
  fName="HRichParIo";
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::init(HParSet* pPar,Int_t* set) {
  // initializes a container called by name, but only the modules
  // defined in the array 'set'
  // calls the special read function for this container
  // If it is called the first time it reads the setup found in the file

 using namespace HadAsciiAuxiliaryFunctions;
  const Text_t* name = ((TNamed*)pPar)->GetName();
  // printf("rich par file io init - %s\n", name);
  if (pFile) {
    if (strcmp(name,"RichGeometryParameters")==0) 
                                return read((HRichGeometryPar*)pPar,set);
    if (strcmp(name,"RichCalPar")==0) 
                                return read((HRichCalPar*)pPar,set);
    if (strcmp(name,"RichThresholdPar")==0) 
                                return read((HRichThresholdPar*)pPar,set);
    if (strncmp(name,"RichAnalysisParameters",strlen("RichAnalysisParameters"))==0)
                                return read((HRichAnalysisPar*)pPar,set);
    if (strncmp(name,"RichDigitisationParameters",strlen("RichDigitisationParameters"))==0)
                                return read((HRichDigitisationPar*)pPar,set);
    if (strcmp(name,"RichMappingParameters")==0)
                                return read((HRichMappingPar*)pPar,set);
    if (strncmp(name,"RichCorrelatorParameters",strlen("RichCorrelatorParameters"))==0)
                                return read((HRichCorrelatorPar*)pPar,set);
  }
  ErrorMsg(2,"HRichParHadAsciiFileIo::init",
   3,"Initialisation of \'",name,"\' container from ASCII file not possible. \
Container of this name is not known.");
  return kFALSE;
}
//============================================================================

//----------------------------------------------------------------------------
Int_t HRichParHadAsciiFileIo::write(HParSet* pPar) {
 using namespace HadAsciiAuxiliaryFunctions;
  const  Text_t* name = ((TNamed*)pPar)->GetName();
  if (pFile) {

    if (strcmp(name,"RichGeometryParameters")==0) 
                                return writeFile((HRichGeometryPar*)pPar);
    if (strcmp(name,"RichCalPar")==0) 
                                return writeFile((HRichCalPar*)pPar);
    if (strcmp(name,"RichThresholdPar")==0) 
                                return writeFile((HRichThresholdPar*)pPar);
    if (strncmp(name,"RichAnalysisParameters",strlen("RichAnalysisParameters"))==0)
                                return writeFile((HRichAnalysisPar*)pPar);
    if (strncmp(name,"RichDigitisationParameters",strlen("RichDigitisationParameters"))==0)
                                return writeFile((HRichDigitisationPar*)pPar);
    if (strcmp(name,"RichMappingParameters")==0)
                                return writeFile((HRichMappingPar*)pPar);
    if (strncmp(name,"RichCorrelatorParameters",strlen("RichCorrelatorParameters"))==0)
                                return writeFile((HRichCorrelatorPar*)pPar);
  }

  ErrorMsg(2,"HRichParHadAsciiFileIo::write",
   3,"Writing of \'",name,"\' container to ASCII file not possible. \
Container of this name is not known.");
  return kFALSE;
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::write(HDetector* p) {
  return kTRUE;  // not implemented!
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::read(HRichGeometryPar* pPar,Int_t* set) {
    Bool_t status = pPar->initAscii(pFile);
    pPar->setChanged();
    return status;
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::read(HRichThresholdPar* pPar,Int_t* set) {
    Bool_t status = pPar->initAscii(pFile);
    pPar->setChanged();
    return status;
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::read(HRichCalPar* pPar,Int_t* set) {
    Bool_t status = pPar->initAscii(pFile);
    pPar->setChanged();
    return status;
}
//============================================================================


//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::read(HRichAnalysisPar* pPar, Int_t* set) {
    Bool_t status = pPar->initAscii(pFile);
    pPar->setChanged();
    return status;
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::read(HRichDigitisationPar* pPar, Int_t* set) {
    Bool_t status = pPar->initAscii(pFile);
    pPar->setChanged();
    return status;
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::read(HRichMappingPar* pPar, Int_t* set) {
    Bool_t status = pPar->initAscii(pFile);
    pPar->setChanged();
    return status;
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::read(HRichCorrelatorPar* pPar, Int_t* set) {
    Bool_t status = pPar->initAscii(pFile);
    pPar->setChanged();
    return status;
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::writeFile(HRichGeometryPar* pPar) {
 return pPar->writeAscii(pFile);
} 
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::writeFile(HRichCalPar* pPar) {
 return pPar->writeAscii(pFile);
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::writeFile(HRichThresholdPar* pPar) {
 return pPar->writeAscii(pFile);
}
//============================================================================


//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::writeFile(HRichAnalysisPar* pPar) {
 return pPar->writeAscii(pFile);
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::writeFile(HRichDigitisationPar *pPar) {
 return pPar->writeAscii(pFile);
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::writeFile(HRichMappingPar *pPar) {
 return pPar->writeAscii(pFile);
}
//============================================================================

//----------------------------------------------------------------------------
Bool_t HRichParHadAsciiFileIo::writeFile(HRichCorrelatorPar *pPar) {
 return pPar->writeAscii(pFile);
}
//============================================================================



Last change: Sat May 22 13:09:43 2010
Last generated: 2010-05-22 13:09

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.