//*-- AUTHOR : Ilse Koenig
//*-- Modified : 20/04/99

//_HADES_CLASS_DESCRIPTION 
/////////////////////////////////////////////////////////////
// HGeomCompositeVolume
//
//
/////////////////////////////////////////////////////////////

#include "hgeomcompositevolume.h"

ClassImp(HGeomCompositeVolume)

HGeomCompositeVolume::HGeomCompositeVolume(Int_t nComp)
    : HGeomVolume() {
  if (nComp) {
    components=new TObjArray(nComp);
    for(Int_t i=0;i<nComp;i++) components->AddAt(new HGeomVolume(),i);
  }
  else components=0; 
}

HGeomCompositeVolume::~HGeomCompositeVolume() {
  if (components) components->Delete();
  delete components;
}

Int_t HGeomCompositeVolume::getNumComponents() {
   if (components) return components->GetSize();
   else return 0;
}

HGeomVolume* HGeomCompositeVolume::getComponent(const Int_t n) {
  return (HGeomVolume*)components->At(n);
}

void HGeomCompositeVolume::createComponents(const Int_t n) {
  if (components) components->Delete();
  components->Expand(n);
}

void HGeomCompositeVolume::setComponent(HGeomVolume* v,const Int_t n) {
  if (components) components->AddAt(v,n);
  else Error("HGeomCompositeVolume::setComponent","no array of components");
}

void HGeomCompositeVolume::clear() {
  HGeomVolume::clear();
  Int_t n=getNumComponents();
  for(Int_t i=0;i<n;i++) ((HGeomVolume*)components->At(i))->clear();
}
  
void HGeomCompositeVolume::print() {
  HGeomVolume::print();
  HGeomVolume* v;
  for(Int_t i=0;i<components->GetSize();i++) {
    v=(HGeomVolume*)components->At(i);
    if (v) v->print();
  } 
} 

Last change: Sat May 22 12:56:14 2010
Last generated: 2010-05-22 12:56

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.