ROOT logo
#ifndef HSPECGEOMPAR_H
#define HSPECGEOMPAR_H

#include "hparset.h"
#include "TNamed.h"
#include "TObjArray.h"

class HGeomVolume;
class HGeomShapes;

class HSpecGeomPar :  public HParSet {
protected:
  HGeomVolume* cave;   // volume describing the cave
  TObjArray* sectors;  // array of sector volumes (type HGeomVolume)
  TObjArray* targets;  // array of target volumes (type HGeomVolume)
  HGeomShapes* shapes; //! pointer to the shape classes
  Bool_t isFirstInit;  //! kTRUE before first initialization
public:
  HSpecGeomPar(const Char_t* name="SpecGeomPar",
               const Char_t* title="Geometry of cave, sectors and target",
               const Char_t* context="GeomProduction",
               const Int_t maxSec=6);
  ~HSpecGeomPar(void);
  Int_t getNumSectors(void);
  Int_t getNumTargets(void);
  HGeomVolume* getCave(void) {return cave;}
  HGeomVolume* getSector(const Int_t n);
  HGeomVolume* getTarget(const Int_t n);
  Bool_t isFirstInitialization() {return isFirstInit;}
  void setNotFirstInit() {isFirstInit=kFALSE;}
  void addCave(HGeomVolume* v);
  void createTargets(const Int_t);
  void addTarget(HGeomVolume*);
  void addSector(HGeomVolume*);
  Bool_t init(HParIo*);
  Bool_t init(HParIo*,Int_t*);
  Int_t write(HParIo*);
  void clear(void);
  void printParam(void); 
  Int_t getSectorIndex(const Text_t*);
  Int_t getTargetIndex(const Text_t*);
  HGeomShapes* getShapes(void) {return shapes;}
  ClassDef(HSpecGeomPar,1) // geometry container for cave, sectors, targets
};

#endif /* !HSPECGEOMPAR_H */
 hspecgeompar.h:1
 hspecgeompar.h:2
 hspecgeompar.h:3
 hspecgeompar.h:4
 hspecgeompar.h:5
 hspecgeompar.h:6
 hspecgeompar.h:7
 hspecgeompar.h:8
 hspecgeompar.h:9
 hspecgeompar.h:10
 hspecgeompar.h:11
 hspecgeompar.h:12
 hspecgeompar.h:13
 hspecgeompar.h:14
 hspecgeompar.h:15
 hspecgeompar.h:16
 hspecgeompar.h:17
 hspecgeompar.h:18
 hspecgeompar.h:19
 hspecgeompar.h:20
 hspecgeompar.h:21
 hspecgeompar.h:22
 hspecgeompar.h:23
 hspecgeompar.h:24
 hspecgeompar.h:25
 hspecgeompar.h:26
 hspecgeompar.h:27
 hspecgeompar.h:28
 hspecgeompar.h:29
 hspecgeompar.h:30
 hspecgeompar.h:31
 hspecgeompar.h:32
 hspecgeompar.h:33
 hspecgeompar.h:34
 hspecgeompar.h:35
 hspecgeompar.h:36
 hspecgeompar.h:37
 hspecgeompar.h:38
 hspecgeompar.h:39
 hspecgeompar.h:40
 hspecgeompar.h:41
 hspecgeompar.h:42
 hspecgeompar.h:43
 hspecgeompar.h:44
 hspecgeompar.h:45
 hspecgeompar.h:46