#ifndef HMDCSETUP_H
#define HMDCSETUP_H
#include "TNamed.h"
#include "TObject.h"
#include "TObjArray.h"
#include "TArrayI.h"
#include "TArrayF.h"
#include "hparcond.h"
class HMdcDetector;
class HParamList;
class HMdcDigitizer;
class HMdcCalibrater1;
class HMdcSetup;
class HMdcDigitizerSetup : public TNamed {
protected:
HMdcSetup* setup;
Int_t tdcModeDigi;
Int_t NtupleDigi;
Int_t useTofDigi;
Int_t useErrorDigi;
Int_t useWireOffsetDigi;
Int_t useWireStatDigi;
Int_t embeddingModeDigi;
Int_t useTimeCutsDigi;
Int_t offsetsOnDigi;
Int_t cellEffOnDigi;
Int_t noiseOnDigi;
TArrayF offsetsDigi;
TArrayF cellEffDigi;
Int_t noiseModeDigi;
TArrayF noiseLevelDigi;
TArrayI noiseRangeLoDigi;
TArrayI noiseRangeHiDigi;
public:
HMdcDigitizerSetup(const Char_t* name="",const Char_t* title="",HMdcSetup* set=0);
~HMdcDigitizerSetup();
void setTdcModeDigi(Int_t mode) {tdcModeDigi=mode;}
void setNtupleDigi(Bool_t ntuple) {NtupleDigi=(Int_t)ntuple;}
void setUseTofDigi(Bool_t tof) {useTofDigi=(Int_t)tof;}
void setUseErrorDigi(Bool_t err) {useErrorDigi=(Int_t)err;}
void setUseWireOffsetDigi(Bool_t off) {useWireOffsetDigi=(Int_t)off;}
void setUseWireStatDigi(Bool_t stat) {useWireStatDigi=(Int_t)stat;}
void setUseTimeCutsDigi(Bool_t stat) {useTimeCutsDigi=(Int_t)stat;}
void setEmbeddingModeDigi(Int_t mode) {embeddingModeDigi=mode;}
void setNoiseModeDigi(Int_t noise) {noiseModeDigi=noise;}
void setNoiseOffDigi(Int_t noiseoff) {noiseOnDigi=noiseoff;}
void setOffsetsOffDigi(Int_t offsetsoff){offsetsOnDigi=offsetsoff;}
void setCellEffOffDigi(Int_t effoff) {cellEffOnDigi=effoff;}
void setNoiseLevelDigi(Float_t l0,Float_t l1,Float_t l2,Float_t l3)
{
noiseLevelDigi[0]=l0;
noiseLevelDigi[1]=l1;
noiseLevelDigi[2]=l2;
noiseLevelDigi[3]=l3;
}
void setOffsetsDigi(Float_t o0,Float_t o1,Float_t o2,Float_t o3)
{
offsetsDigi[0]=o0;
offsetsDigi[1]=o1;
offsetsDigi[2]=o2;
offsetsDigi[3]=o3;
}
void setCellEffDigi(Float_t e0,Float_t e1,Float_t e2,Float_t e3)
{
cellEffDigi[0]=e0;
cellEffDigi[1]=e1;
cellEffDigi[2]=e2;
cellEffDigi[3]=e3;
}
void setNoiseRangeDigi(Int_t rLo0,Int_t rLo1,Int_t rLo2,Int_t rLo3,
Int_t rHi0,Int_t rHi1,Int_t rHi2,Int_t rHi3)
{
noiseRangeLoDigi[0]=rLo0;
noiseRangeLoDigi[1]=rLo1;
noiseRangeLoDigi[2]=rLo2;
noiseRangeLoDigi[3]=rLo3;
noiseRangeHiDigi[0]=rHi0;
noiseRangeHiDigi[1]=rHi1;
noiseRangeHiDigi[2]=rHi2;
noiseRangeHiDigi[3]=rHi3;
}
Int_t getTdcModeDigi() {return tdcModeDigi;}
Bool_t getNtupleDigi() {return (Bool_t)NtupleDigi;}
Bool_t getUseTofDigi() {return (Bool_t)useTofDigi;}
Bool_t getUseErrorDigi() {return (Bool_t)useErrorDigi;}
Bool_t getUseWireOffsetDigi(){return (Bool_t)useWireOffsetDigi;}
Bool_t getUseWireStatDigi() {return (Bool_t)useWireStatDigi;}
Bool_t getUseTimeCutsDigi() {return (Bool_t)useTimeCutsDigi;}
Int_t getEmbeddingModeDigi(){return embeddingModeDigi;}
Int_t getNoiseModeDigi() {return noiseModeDigi;}
Int_t getNoiseOffDigi() {return noiseOnDigi;}
Int_t getOffsetsOffDigi() {return offsetsOnDigi;}
Int_t getCellEffOffDigi() {return cellEffOnDigi;}
void getNoiseLevelDigi(Float_t* l0,Float_t* l1,Float_t* l2,Float_t* l3)
{
*l0=noiseLevelDigi[0];
*l1=noiseLevelDigi[1];
*l2=noiseLevelDigi[2];
*l3=noiseLevelDigi[3];
}
TArrayF& getNoiseLevelDigi()
{
return noiseLevelDigi;
}
void getOffsetsDigi(Float_t* o0,Float_t* o1,Float_t* o2,Float_t* o3)
{
*o0=offsetsDigi[0];
*o1=offsetsDigi[1];
*o2=offsetsDigi[2];
*o3=offsetsDigi[3];
}
TArrayF& getOffsetsDigi()
{
return offsetsDigi;
}
void getCellEffDigi(Float_t* e0,Float_t* e1,Float_t* e2,Float_t* e3)
{
*e0=cellEffDigi[0];
*e1=cellEffDigi[1];
*e2=cellEffDigi[2];
*e3=cellEffDigi[3];
}
TArrayF& getCellEffDigi()
{
return cellEffDigi;
}
void getNoiseRangeDigi(Int_t* rLo0,Int_t* rLo1,Int_t* rLo2,Int_t* rLo3,
Int_t* rHi0,Int_t* rHi1,Int_t* rHi2,Int_t* rHi3)
{
*rLo0=noiseRangeLoDigi[0];
*rLo1=noiseRangeLoDigi[1];
*rLo2=noiseRangeLoDigi[2];
*rLo3=noiseRangeLoDigi[3];
*rHi0=noiseRangeHiDigi[0];
*rHi1=noiseRangeHiDigi[1];
*rHi2=noiseRangeHiDigi[2];
*rHi3=noiseRangeHiDigi[3];
}
TArrayI& getNoiseRangeLoDigi()
{
return noiseRangeLoDigi;
}
TArrayI& getNoiseRangeHiDigi()
{
return noiseRangeHiDigi;
}
void clear();
Bool_t check();
void printParam();
Bool_t getParams(HParamList*);
void putParams(HParamList*);
void setupMdcDigitizer(HMdcDigitizer*);
void copySet(HMdcDigitizerSetup* par);
Bool_t isEqual(HMdcDigitizerSetup* par);
ClassDef(HMdcDigitizerSetup,1)
};
class HMdcCalibrater1Setup : public TNamed {
protected:
HMdcSetup* setup;
Int_t ModeFlagCal1;
Int_t TimeCutFlagCal1;
public:
HMdcCalibrater1Setup(const Char_t* name="",const Char_t* title="",HMdcSetup* set=0);
~HMdcCalibrater1Setup();
void setModeFlagCal1(Int_t flag) {ModeFlagCal1=flag;}
void setTimeCutFlagCal1(Int_t cut){TimeCutFlagCal1=cut;}
void setMdcCalibrater1Set(Int_t flag,Int_t cut)
{
setModeFlagCal1(flag);
setTimeCutFlagCal1(cut);
}
Int_t getModeFlagCal1() {return ModeFlagCal1;}
Int_t getTimeCutFlagCal1() {return TimeCutFlagCal1;}
void getMdcCalibrater1Set(Int_t* mode,Int_t* cut)
{
*mode=getModeFlagCal1();
*cut =getTimeCutFlagCal1();
}
void clear();
Bool_t check();
void printParam(void);
Bool_t getParams(HParamList*);
void putParams(HParamList*);
void setupMdcCalibrater1(HMdcCalibrater1*,Int_t merge=0);
void copySet(HMdcCalibrater1Setup* par);
Bool_t isEqual(HMdcCalibrater1Setup* par);
ClassDef(HMdcCalibrater1Setup,1)
};
class HMdcTrackFinderSetup : public TNamed {
protected:
HMdcSetup* setup;
Int_t isCoilOff;
Int_t typeClustFinder;
TArrayI nLayers;
TArrayI nLevel;
public:
HMdcTrackFinderSetup(const Char_t* name="",const Char_t* title="",HMdcSetup* set=0);
~HMdcTrackFinderSetup();
void setIsCoilOff(Bool_t field) {isCoilOff=(Int_t)field;}
void setTypeClustFinder(Int_t type){typeClustFinder=type;}
Bool_t getIsCoilOff() {return (Bool_t)isCoilOff;}
void setNLayers(Int_t* myLayers)
{
for(Int_t s=0;s<6;s++){
for(Int_t m=0;m<4;m++){
nLayers[s*4+m]=myLayers[s*4+m];
}
}
}
void setNLevel(Int_t* L)
{
for(Int_t i=0;i<4;i++)
{
nLevel[i]=L[i];
}
}
void setMdcTrackFinderSet(Bool_t field,Int_t type,Int_t* myLayers,Int_t* L)
{
setIsCoilOff(field);
setTypeClustFinder(type);
setNLayers(myLayers);
setNLevel(L);
}
Int_t getTypeClustFinder() {return typeClustFinder;}
void getNLayers(Int_t* myLayers)
{
for(Int_t s=0;s<6;s++){
for(Int_t m=0;m<4;m++){
myLayers[s*4+m]=nLayers[s*4+m];
}
}
}
void getNLevel(Int_t* L)
{
for(Int_t i=0;i<4;i++)
{
L[i]=nLevel[i];
}
}
void getMdcTrackfinderSet(Bool_t* field,Int_t* type,Int_t* nlay)
{
*field=getIsCoilOff();
*type =getTypeClustFinder();
getNLayers(nlay);
}
void clear();
Bool_t check();
void printParam(void);
Bool_t getParams(HParamList*);
void putParams(HParamList*);
void setupMdcTrackFinder();
void copySet(HMdcTrackFinderSetup* par);
Bool_t isEqual(HMdcTrackFinderSetup* par);
ClassDef(HMdcTrackFinderSetup,1)
};
class HMdcClusterToHitSetup : public TNamed {
protected:
HMdcSetup* setup;
Int_t mdcForSeg1;
Int_t mdcForSeg2;
public:
HMdcClusterToHitSetup(const Char_t* name="",const Char_t* title="",HMdcSetup* set=0);
~HMdcClusterToHitSetup();
void setMdcForSeg1(Int_t mdcseg1){mdcForSeg1=mdcseg1;}
void setMdcForSeg2(Int_t mdcseg2){mdcForSeg2=mdcseg2;}
void setMdcClusterToHitSet(Int_t mdcseg1,Int_t mdcseg2)
{
setMdcForSeg1(mdcseg1);
setMdcForSeg2(mdcseg2);
}
Int_t getMdcForSeg1() {return mdcForSeg1;}
Int_t getMdcForSeg2() {return mdcForSeg2;}
void getMdcClusterToHitSet(Int_t* mdcseg1,Int_t*mdcseg2)
{
*mdcseg1=getMdcForSeg1();
*mdcseg2=getMdcForSeg2();
}
void clear();
Bool_t check();
void printParam(void);
Bool_t getParams(HParamList*);
void putParams(HParamList*);
void setupMdcClusterToHit();
void copySet(HMdcClusterToHitSetup* par);
Bool_t isEqual(HMdcClusterToHitSetup* par);
ClassDef(HMdcClusterToHitSetup,1)
};
class HMdc12FitSetup : public TNamed {
protected:
HMdcSetup* setup;
Int_t fitauthor;
Int_t fitVersion;
Int_t fitIndep;
Int_t fitNTuple;
Int_t fitPrint;
public:
HMdc12FitSetup(const Char_t* name="",const Char_t* title="",HMdcSetup* set=0);
~HMdc12FitSetup();
void setFitAuthor(Int_t author){fitauthor=author;}
void setFitVersion(Int_t vers) {fitVersion=vers;}
void setFitIndep(Int_t indep) {fitIndep=indep;}
void setFitNTuple(Bool_t tuple){fitNTuple=(Int_t)tuple;}
void setFitPrint(Bool_t print) {fitPrint=(Int_t)print;}
void setMdc12FitSet(Int_t author,Int_t vers,Int_t indep,Bool_t tuple,Bool_t print)
{
setFitAuthor (author);
setFitVersion(vers);
setFitIndep (indep);
setFitNTuple (tuple);
setFitPrint (print);
}
Int_t getFitAuthor() {return fitauthor;}
Int_t getFitVersion() {return fitVersion;}
Int_t getFitIndep() {return fitIndep;}
Bool_t getFitNTuple() {return (Bool_t)fitNTuple;}
Bool_t getFitPrint() {return (Bool_t)fitPrint;}
void getMdc12FitSet(Int_t* author,Int_t* vers,Int_t* indep,Bool_t* tuple,Bool_t* print)
{
*author=getFitAuthor();
*vers =getFitVersion();
*indep =getFitIndep();
*tuple =getFitNTuple();
*print =getFitPrint();
}
void clear();
Bool_t check();
void printParam(void);
Bool_t getParams(HParamList*);
void putParams(HParamList*);
void setupMdc12Fit();
void copySet(HMdc12FitSetup* par);
Bool_t isEqual(HMdc12FitSetup* par);
ClassDef(HMdc12FitSetup,1)
};
class HMdcCommonSetup : public TNamed {
protected:
HMdcSetup* setup;
Int_t isSimulation;
Int_t analysisLevel;
Int_t tracker;
public:
HMdcCommonSetup(const Char_t* name="",const Char_t* title="",HMdcSetup* set=0);
~HMdcCommonSetup();
void setIsSimulation(Int_t sim) {isSimulation=sim;}
void setAnalysisLevel(Int_t level){analysisLevel=level;}
void setTracker(Int_t track) {tracker=track;}
void setMdcCommonSet(Int_t sim,Int_t level,Int_t track)
{
setIsSimulation(sim);
setAnalysisLevel(level);
setTracker(track);
}
Int_t getIsSimulation() {return isSimulation;}
Int_t getAnalysisLevel() {return analysisLevel;}
Int_t getTracker() {return tracker;}
void getMdcCommonSet(Int_t* sim,Int_t* level,Int_t* track)
{
*sim =getIsSimulation();
*level=getAnalysisLevel();
*track=getTracker();
}
void clear();
Bool_t check();
void printParam(void);
Bool_t getParams(HParamList*);
void putParams(HParamList*);
void copySet(HMdcCommonSetup* par);
Bool_t isEqual(HMdcCommonSetup* par);
ClassDef(HMdcCommonSetup,1)
};
class HMdcSetup : public HParCond {
protected:
HMdcDetector* fMdc;
HMdcDigitizerSetup* digiset;
HMdcCalibrater1Setup* cal1set;
HMdcTrackFinderSetup* trackfinderset;
HMdcClusterToHitSetup* clustertohitset;
HMdc12FitSetup* fitterset;
HMdcCommonSetup* commonset;
public:
HMdcSetup(const Char_t* name ="MdcSetup",
const Char_t* title ="parameters for MdcTaskSet",
const Char_t* context="MdcSetupProduction");
~HMdcSetup();
HMdcDigitizerSetup* getMdcDigitizerSet() {return digiset;}
HMdcCalibrater1Setup* getMdcCalibrater1Set() {return cal1set;}
HMdcTrackFinderSetup* getMdcTrackFinderSet() {return trackfinderset;}
HMdcClusterToHitSetup* getMdcClusterToHitSet(){return clustertohitset;}
HMdc12FitSetup* getMdc12FitSet() {return fitterset;}
HMdcCommonSetup* getMdcCommonSet() {return commonset;}
Bool_t init(HParIo*, Int_t*);
Int_t write(HParIo*);
void putParams(HParamList*);
Bool_t getParams(HParamList*);
void clear();
Bool_t check();
void printParam(void);
void copySet(HMdcSetup* par);
Bool_t isEqual(HMdcSetup* par);
ClassDef(HMdcSetup,1)
};
#endif /*!HMDCSETUP_H*/
Last change: Sat May 22 13:03:57 2010
Last generated: 2010-05-22 13:03
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.