//*-- Author : D. Gonzalez-Diaz //*-- Created : 08/06/2006 //*-- Modified: 12/09/2006 by P.Cabanelas using namespace std; #include "hades.h" #include "hruntimedb.h" #include "hspectrometer.h" #include "hrpcdetector.h" #include "hpario.h" #include "hdetpario.h" #include "hrpcdigipar.h" #include #include ClassImp(HRpcDigiPar) ClassImp(HRpcDigiParSec) ClassImp(HRpcDigiParMod) ClassImp(HRpcDigiParCell) void HRpcDigiParCell::setDefaults(Int_t m) { // FIXME: Sets the default values. What is this in our case?? Length = 0.0; X_left = 0.0; Y_left = 0.0; width = 0.0; widthT = 0.0; thetaL = 0.0; thetaR = 0.0; } void HRpcDigiParCell::clear() { // FIXME: Really?? Length = -1; X_left = -1; Y_left = -1; width = -1; widthT = -1; thetaL = -1; thetaR = -1; } HRpcDigiParMod::HRpcDigiParMod(Int_t s, Int_t m) { // Constructor creates an array of pointers of type HRpcDigiParCell. HDetector* det=gHades->getSetup()->getDetector("Rpc"); Int_t n=det->getMaxComponents(); if (det->getModule(s,m)) { array = new TObjArray(n); for(Int_t i=0 ; iAddAt(new HRpcDigiParCell(),i); } else array = new TObjArray(0); } HRpcDigiParMod::~HRpcDigiParMod(void) { // Destructor. if(array) { array->Delete(); delete array; } } HRpcDigiParSec::HRpcDigiParSec(Int_t s, Int_t n) { // Constructor creates an array of pointers of type HRpcDigiParCell. array = new TObjArray(n); for(Int_t i=0 ; iAddAt(new HRpcDigiParMod(s,i),i); } HRpcDigiParSec::~HRpcDigiParSec(void) { // Destructor. array->Delete(); delete array; } HRpcDigiPar::HRpcDigiPar(const char* name,const char* title, const char* context) : HParSet(name,title,context) { // Constructor creates an array of pointers of type HRpcDigiParSec. // The container name is set to "RpcDigiPar". strcpy(detName,"Rpc"); array = new TObjArray(6); for (Int_t i=0; i<6; i++) array->AddAt(new HRpcDigiParSec(i,6),i); } HRpcDigiPar::~HRpcDigiPar(void) { // Destructor. array->Delete(); delete array; } Bool_t HRpcDigiPar::init(HParIo* inp,Int_t* set) { // Intitializes the container from an input. // If input not available, default initialization. HDetParIo* input=inp->getDetParIo("HRpcParIo"); if (input) return (input->init(this,set)); return kFALSE; } Int_t HRpcDigiPar::write(HParIo* output) { // Writes the container to an output. HDetParIo* out=output->getDetParIo("HRpcParIo"); if (out) return out->write(this); return -1; } void HRpcDigiPar::clear() { // Calls method setDefaults(Int_t m) for all HRpcDigiParCell objects // in the detector. for(Int_t i0=0;i0