//*-- AUTHOR : Denis Bertini //*-- Created : 21/06/2005 using namespace std; #include "PndGeoSttPar.h" #include "FairParamList.h" #include #include #include #include ClassImp(PndGeoSttPar) PndGeoSttPar::PndGeoSttPar(const char* name,const char* title,const char* context) : FairParGenericSet(name,title,context), fGeoSensNodes(new TObjArray()), fGeoPassNodes(new TObjArray()), fGeoType(-1), fTubeInRad(0), fTubeOutRad(0), fNLayers(0), fNSectors(0), fNTubes(0), fNTubes_inner_parallel(0), fNTubes_outer_parallel(0), fNTubes_fillup_parallel(0), fNTubes_skewed(0), fNLayers_inner_parallel(0), fNLayers_outer_parallel(0), fNLayers_fillup_parallel(0), fLimitList(TArrayI()), fShiftList(TArrayI()) { } PndGeoSttPar::~PndGeoSttPar(void) { } PndGeoSttPar::PndGeoSttPar(PndGeoSttPar& par) : fGeoSensNodes(par.GetGeoSensitiveNodes()), fGeoPassNodes(par.GetGeoPassiveNodes()), fGeoType(par.GetGeometryType()), fTubeInRad(par.GetTubeInRad()), fTubeOutRad(par.GetTubeOutRad()), fNLayers(par.GetNLayers()), fNSectors(par.GetNSectors()), fNTubes(par.GetNTubes()), fNTubes_inner_parallel(par.GetNTubes_inner_parallel()), fNTubes_outer_parallel(par.GetNTubes_outer_parallel()), fNTubes_fillup_parallel(par.GetNTubes_fillup_parallel()), fNTubes_skewed(par.GetNTubes_skewed()), fNLayers_inner_parallel(par.GetNLayers_inner_parallel()), fNLayers_outer_parallel(par.GetNLayers_outer_parallel()), fNLayers_fillup_parallel(par.GetNLayers_fillup_parallel()), fLimitList(par.GetLimitList()), fShiftList(par.GetShiftList()) { } void PndGeoSttPar::clear(void) { if(fGeoSensNodes) delete fGeoSensNodes; if(fGeoPassNodes) delete fGeoPassNodes; } void PndGeoSttPar::putParams(FairParamList* l) { if (!l) return; l->addObject("FairGeoNodes Sensitive List", fGeoSensNodes); l->addObject("FairGeoNodes Passive List", fGeoPassNodes); l->add("Tube_Inner_Radius", fTubeInRad); l->add("Tube_Outer_Radius", fTubeOutRad); l->add("Geometry_Type", fGeoType); l->add("NLayers", fNLayers); l->add("fNSectors", fNSectors); l->add("fNTubes", fNTubes); l->add("fNTubes_inner_parallel", fNTubes_inner_parallel); l->add("fNTubes_outer_parallel", fNTubes_outer_parallel); l->add("fNTubes_fillup_parallel", fNTubes_fillup_parallel); l->add("fNTubes_skewed", fNTubes_skewed); l->add("fNLayers_inner_parallel", fNLayers_inner_parallel); l->add("fNLayers_outer_parallel", fNLayers_outer_parallel); l->add("fNLayers_fillup_parallel", fNLayers_fillup_parallel); l->add("fLimitList", fLimitList); l->add("fShiftList", fShiftList); } Bool_t PndGeoSttPar::getParams(FairParamList* l) { if (!l) return kFALSE; if (!l->fillObject("FairGeoNodes Sensitive List", fGeoSensNodes)) return kFALSE; if (!l->fillObject("FairGeoNodes Passive List", fGeoPassNodes)) return kFALSE; if (!l->fill("Tube_Inner_Radius", &fTubeInRad) ) return kFALSE; if (!l->fill("Tube_Outer_Radius", &fTubeOutRad)) return kFALSE; if (!l->fill("Geometry_Type", &fGeoType)) return kFALSE; return kTRUE; }