ROOT logo
//*-- 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 && strlen(v->GetName())>0) v->print();
  } 
} 
 hgeomcompositevolume.cc:1
 hgeomcompositevolume.cc:2
 hgeomcompositevolume.cc:3
 hgeomcompositevolume.cc:4
 hgeomcompositevolume.cc:5
 hgeomcompositevolume.cc:6
 hgeomcompositevolume.cc:7
 hgeomcompositevolume.cc:8
 hgeomcompositevolume.cc:9
 hgeomcompositevolume.cc:10
 hgeomcompositevolume.cc:11
 hgeomcompositevolume.cc:12
 hgeomcompositevolume.cc:13
 hgeomcompositevolume.cc:14
 hgeomcompositevolume.cc:15
 hgeomcompositevolume.cc:16
 hgeomcompositevolume.cc:17
 hgeomcompositevolume.cc:18
 hgeomcompositevolume.cc:19
 hgeomcompositevolume.cc:20
 hgeomcompositevolume.cc:21
 hgeomcompositevolume.cc:22
 hgeomcompositevolume.cc:23
 hgeomcompositevolume.cc:24
 hgeomcompositevolume.cc:25
 hgeomcompositevolume.cc:26
 hgeomcompositevolume.cc:27
 hgeomcompositevolume.cc:28
 hgeomcompositevolume.cc:29
 hgeomcompositevolume.cc:30
 hgeomcompositevolume.cc:31
 hgeomcompositevolume.cc:32
 hgeomcompositevolume.cc:33
 hgeomcompositevolume.cc:34
 hgeomcompositevolume.cc:35
 hgeomcompositevolume.cc:36
 hgeomcompositevolume.cc:37
 hgeomcompositevolume.cc:38
 hgeomcompositevolume.cc:39
 hgeomcompositevolume.cc:40
 hgeomcompositevolume.cc:41
 hgeomcompositevolume.cc:42
 hgeomcompositevolume.cc:43
 hgeomcompositevolume.cc:44
 hgeomcompositevolume.cc:45
 hgeomcompositevolume.cc:46
 hgeomcompositevolume.cc:47
 hgeomcompositevolume.cc:48
 hgeomcompositevolume.cc:49
 hgeomcompositevolume.cc:50
 hgeomcompositevolume.cc:51
 hgeomcompositevolume.cc:52
 hgeomcompositevolume.cc:53
 hgeomcompositevolume.cc:54
 hgeomcompositevolume.cc:55
 hgeomcompositevolume.cc:56
 hgeomcompositevolume.cc:57
 hgeomcompositevolume.cc:58
 hgeomcompositevolume.cc:59
 hgeomcompositevolume.cc:60
 hgeomcompositevolume.cc:61