ROOT logo
//_HADES_CLASS_DESCRIPTION 
//////////////////////////////////////////////////////////////////////////////
// HEmcGeomPar
//
// Container class for the basic EMC geometry parameters
//
//////////////////////////////////////////////////////////////////////////////

using namespace std;
#include "hemcgeompar.h"
#include "hades.h"
#include "hspectrometer.h"
#include "hpario.h"
#include "hdetpario.h"
#include "hemcdetector.h"
#include <iostream> 
#include <iomanip>

ClassImp(HEmcGeomPar)

HEmcGeomPar::HEmcGeomPar(const Char_t* name,const Char_t* title,
                               const Char_t* context)
            : HDetGeomPar(name,title,context,"Emc") {
  // constructor calling the base class constructor with the detector name
  HEmcDetector* det=(HEmcDetector*)(gHades->getSetup()->getDetector("Emc"));
  if (det) {
    maxCells=det->getNumCells();
  } else {
    maxCells=0;
    Error("HEmcGeomPar","EMC detector not defined in setup");
  }
}

Bool_t HEmcGeomPar::init(HParIo* inp,Int_t* set) {
  // intitializes the container from an input
  HDetParIo* input=inp->getDetParIo("HEmcParIo");
  if (input) return (input->init(this,set));
  return kFALSE;
}

Int_t HEmcGeomPar::write(HParIo* output) {
  // writes the container to an output
  HDetParIo* out=output->getDetParIo("HEmcParIo");
  if (out) return out->write(this);
  return -1;
}

Int_t HEmcGeomPar::getCompNum(const TString& name) {
  // returns the cell index retrieved from the cell name GLEAxxx
  Int_t length=name.Length();
  switch (length) {
    case 5:
      return ((Int_t)(name[4]-'0')-1);
    case 6:
      return ((Int_t)(name[4]-'0')*10+(Int_t)(name[5]-'0')-1);
    case 7:
      return ((Int_t)(name[4]-'0')*100+(Int_t)(name[5]-'0')*10+(Int_t)(name[6]-'0')-1);
  }
  return(-1);
}
 hemcgeompar.cc:1
 hemcgeompar.cc:2
 hemcgeompar.cc:3
 hemcgeompar.cc:4
 hemcgeompar.cc:5
 hemcgeompar.cc:6
 hemcgeompar.cc:7
 hemcgeompar.cc:8
 hemcgeompar.cc:9
 hemcgeompar.cc:10
 hemcgeompar.cc:11
 hemcgeompar.cc:12
 hemcgeompar.cc:13
 hemcgeompar.cc:14
 hemcgeompar.cc:15
 hemcgeompar.cc:16
 hemcgeompar.cc:17
 hemcgeompar.cc:18
 hemcgeompar.cc:19
 hemcgeompar.cc:20
 hemcgeompar.cc:21
 hemcgeompar.cc:22
 hemcgeompar.cc:23
 hemcgeompar.cc:24
 hemcgeompar.cc:25
 hemcgeompar.cc:26
 hemcgeompar.cc:27
 hemcgeompar.cc:28
 hemcgeompar.cc:29
 hemcgeompar.cc:30
 hemcgeompar.cc:31
 hemcgeompar.cc:32
 hemcgeompar.cc:33
 hemcgeompar.cc:34
 hemcgeompar.cc:35
 hemcgeompar.cc:36
 hemcgeompar.cc:37
 hemcgeompar.cc:38
 hemcgeompar.cc:39
 hemcgeompar.cc:40
 hemcgeompar.cc:41
 hemcgeompar.cc:42
 hemcgeompar.cc:43
 hemcgeompar.cc:44
 hemcgeompar.cc:45
 hemcgeompar.cc:46
 hemcgeompar.cc:47
 hemcgeompar.cc:48
 hemcgeompar.cc:49
 hemcgeompar.cc:50
 hemcgeompar.cc:51
 hemcgeompar.cc:52
 hemcgeompar.cc:53
 hemcgeompar.cc:54
 hemcgeompar.cc:55
 hemcgeompar.cc:56
 hemcgeompar.cc:57
 hemcgeompar.cc:58
 hemcgeompar.cc:59
 hemcgeompar.cc:60