#include <stdio.h>
#include "htboxdetector.h"
#include "hades.h"
#include "hruntimedb.h"
#include "hpario.h"
#include "hdetpario.h"
#include "hparasciifileio.h"
#include "hparrootfileio.h"
#include "hcategory.h"
#include "hmatrixcategory.h"
#include "hlinearcategory.h"
#include "TClass.h"
ClassImp(HTBoxDetector)
HTBoxDetector::HTBoxDetector() {
fName="TBox";
maxSectors=-1;
maxModules=1;
maxComponents=8;
modules = new TArrayI(maxModules);
}
HTBoxDetector::HTBoxDetector(Int_t mods, Int_t chan) {
fName="TBox";
maxSectors=-1;
maxModules=mods;
maxComponents=chan;
modules = new TArrayI(maxModules);
}
HTBoxDetector::~HTBoxDetector() {
if (modules) delete modules;
modules=0;
}
Bool_t HTBoxDetector::init(void) {
return kTRUE;
}
HCategory* HTBoxDetector::buildMatrixCategory(const Text_t* className) {
Int_t maxMod=getMaxModInSetup();
if (maxMod==0) return 0;
Int_t* sizes=new Int_t[2];
sizes[0]=maxMod;
sizes[1]=maxComponents;
HMatrixCategory* category = new HMatrixCategory(className,2,sizes,1.0);
delete [] sizes;
return category;
}
HCategory* HTBoxDetector::buildLinearCategory(const Text_t* className) {
Int_t size=getMaxModInSetup()*maxComponents;
if (size) {
HLinearCategory* category = new HLinearCategory(className,size);
return category;
}
printf("TBox linear category could not be built\n");
return NULL;
}
HCategory* HTBoxDetector::buildCategory(Cat_t cat) {
switch (cat) {
case catTBoxChan : return buildLinearCategory("HTBoxChan");
case catTBoxChanSum : return buildLinearCategory("HTBoxChanSum");
default : return NULL;
}
}
Int_t HTBoxDetector::getMaxModInSetup(void) {
Int_t maxMod=-1;
for(Int_t i=0;i<maxModules;i++) {
if (modules->At(i)) maxMod=(i>maxMod)?i:maxMod;
}
maxMod++;
return maxMod;
}
Last change: Sat May 22 13:15:07 2010
Last generated: 2010-05-22 13:15
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.