ROOT logo
#ifndef HDETECTOR_H
#define HDETECTOR_H

#include "TNamed.h"
#include "TArrayI.h"
#include "haddef.h"
#include "hgeantdef.h"

class HTask;
class HCategory;
class HParIo;

class HDetector : public TNamed {
protected:
  Int_t maxSectors;    // maximum number of sectors (-1 for detectors outside any sector)
  Int_t maxModules;    // maximum number of modules per sector
  Int_t maxComponents; // maximum number of components per module
  TArrayI* modules;    // Module's array.
public:
  HDetector(void);
  HDetector(const Text_t* name,const Text_t* title);
  virtual ~HDetector(void);
  Int_t getMaxSectors(void) {return maxSectors;}
  Int_t getMaxModules(void) {return maxModules;}
  Int_t getMaxComponents(void) {return maxComponents;}
  Bool_t isSectorActive(Int_t sector);
  virtual void setMaxSectors(Int_t sec=6) {maxSectors=sec;}
  virtual void setModules(Int_t sec,Int_t* modules);
  virtual Int_t* getModules(void);
  virtual Int_t getModule(Int_t sector,Int_t mod) ;
  virtual Bool_t init(void) {return kTRUE;} 
  virtual Bool_t write(HParIo* ) {return kFALSE;}
  virtual void activateParIo(HParIo* ) {return;}
  void print();

  virtual HTask *buildTask(const Text_t *,const Option_t *) {return 0;}
  virtual HCategory *buildCategory(Cat_t ) {return 0;}
  ClassDef(HDetector,1) //Detector's descriptor.
};

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