00001 #ifndef St_tpcDimensionsC_h
00002 #define St_tpcDimensionsC_h
00003
00004 #include "TChair.h"
00005 #include "tables/St_tpcDimensions_Table.h"
00006 #include "St_tpcPadPlanesC.h"
00007 #include "St_tpcEffectiveGeomC.h"
00008 #include "St_tpcWirePlanesC.h"
00009 class St_tpcDimensionsC : public TChair {
00010 public:
00011 static St_tpcDimensionsC* instance();
00012 tpcDimensions_st *Struct(Int_t i = 0) {return ((St_tpcDimensions*) Table())->GetTable()+i;}
00013 UInt_t getNumRows() {return GetNRows();}
00014 Int_t numberOfSectors(Int_t i = 0) {return Struct(i)->numberOfSectors;}
00015 Double_t tpcInnerRadius(Int_t i = 0) {return Struct(i)->tpcInnerRadius;}
00016 Double_t tpcOuterRadius(Int_t i = 0) {return Struct(i)->tpcOuterRadius;}
00017 Double_t tpcTotalLength(Int_t i = 0) {return Struct(i)->tpcTotalLength;}
00018 Double_t wheelInnerRadius(Int_t i = 0) {return Struct(i)->wheelInnerRadius;}
00019 Double_t wheelOuterRadius(Int_t i = 0) {return Struct(i)->wheelOuterRadius;}
00020 Double_t wheelThickness(Int_t i = 0) {return Struct(i)->wheelThickness;}
00021 Double_t senseGasOuterRadius(Int_t i = 0){return Struct(i)->senseGasOuterRadius;}
00022 Double_t tpeaThickness(Int_t i = 0) {return Struct(i)->tpeaThickness;}
00023 Double_t cathodeInnerRadius(Int_t i = 0) {return Struct(i)->cathodeInnerRadius;}
00024 Double_t cathodeOuterRadius(Int_t i = 0) {return Struct(i)->cathodeOuterRadius;}
00025 Double_t cathodeThickness(Int_t i = 0) {return Struct(i)->cathodeThickness;}
00026 Double_t outerCuThickness(Int_t i = 0) {return Struct(i)->outerCuThickness;}
00027 Double_t outerKaptonThickness(Int_t i =0){return Struct(i)->outerKaptonThickness;}
00028 Double_t outerNomexThickness(Int_t i = 0){return Struct(i)->outerNomexThickness;}
00029 Double_t outerGlueThickness(Int_t i = 0) {return Struct(i)->outerGlueThickness;}
00030 Double_t outerInsGasThickness(Int_t i =0){return Struct(i)->outerInsGasThickness;}
00031 Double_t outerAlThickness(Int_t i = 0) {return Struct(i)->outerAlThickness;}
00032 Double_t outerAlHoneycombThickness(Int_t i=0) {return Struct(i)->outerAlHoneycombThickness;}
00033 Double_t innerGlueThickness(Int_t i = 0) {return Struct(i)->innerGlueThickness;}
00034 Double_t innerNomexThickness(Int_t i = 0){return Struct(i)->innerNomexThickness;}
00035 Double_t innerKaptonThickness(Int_t i =0){return Struct(i)->innerKaptonThickness;}
00036 Double_t innerAlThickness(Int_t i = 0) {return Struct(i)->innerAlThickness;}
00037 Double_t innerGapWidI(Int_t i = 0) {return Struct(i)->innerGapWidI;}
00038 Double_t innerGapWidO(Int_t i = 0) {return Struct(i)->innerGapWidO;}
00039 Double_t innerGapHeit(Int_t i = 0) {return Struct(i)->innerGapHeit;}
00040 Double_t innerGapRad(Int_t i = 0) {return Struct(i)->innerGapRad;}
00041 Double_t innerInWidth(Int_t i = 0) {return Struct(i)->innerInWidth;}
00042 Double_t innerOutWidth(Int_t i = 0) {return Struct(i)->innerOutWidth;}
00043 Double_t innerHeight(Int_t i = 0) {return Struct(i)->innerHeight;}
00044 Double_t innerPPDepth(Int_t i = 0) {return Struct(i)->innerPPDepth;}
00045 Double_t innerAlDepth(Int_t i = 0) {return Struct(i)->innerAlDepth;}
00046 Double_t innerMWCDepth(Int_t i = 0) {return Struct(i)->innerMWCDepth;}
00047 Double_t innerBoundary(Int_t i = 0) {return Struct(i)->innerBoundary;}
00048 Double_t innerRCenter(Int_t i = 0) {return Struct(i)->innerRCenter;}
00049 Double_t innerMWCInn(Int_t i = 0) {return Struct(i)->innerMWCInn;}
00050 Double_t innerMWCOut(Int_t i = 0) {return Struct(i)->innerMWCOut;}
00051 Double_t innerMVCHei(Int_t i = 0) {return Struct(i)->innerMVCHei;}
00052 Int_t innerAirGaps(Int_t i = 0) {return Struct(i)->innerAirGaps;}
00053 Int_t innerExtraAl(Int_t i = 0) {return Struct(i)->innerExtraAl;}
00054 Double_t* innerZGaps(Int_t i = 0) {return Struct(i)->innerZGaps;}
00055 Double_t* innerZGapsSize(Int_t i = 0) {return Struct(i)->innerZGapsSize;}
00056 Double_t* innerXExtraAl(Int_t i = 0) {return Struct(i)->innerXExtraAl;}
00057 Double_t* innerZExtraAl(Int_t i = 0) {return Struct(i)->innerZExtraAl;}
00058 Double_t* innerDXExtraAl(Int_t i = 0) {return Struct(i)->innerDXExtraAl;}
00059 Double_t* innerDZExtraAl(Int_t i = 0) {return Struct(i)->innerDZExtraAl;}
00060 Double_t outerGapWidI(Int_t i = 0) {return Struct(i)->outerGapWidI;}
00061 Double_t outerGapWidO(Int_t i = 0) {return Struct(i)->outerGapWidO;}
00062 Double_t outerGapHeit(Int_t i = 0) {return Struct(i)->outerGapHeit;}
00063 Double_t outerGapRad(Int_t i = 0) {return Struct(i)->outerGapRad;}
00064 Double_t outerInWidth(Int_t i = 0) {return Struct(i)->outerInWidth;}
00065 Double_t outerOutWidth(Int_t i = 0) {return Struct(i)->outerOutWidth;}
00066 Double_t outerHeight(Int_t i = 0) {return Struct(i)->outerHeight;}
00067 Double_t outerPPDepth(Int_t i = 0) {return Struct(i)->outerPPDepth;}
00068 Double_t outerAlDepth(Int_t i = 0) {return Struct(i)->outerAlDepth;}
00069 Double_t outerMWCDepth(Int_t i = 0) {return Struct(i)->outerMWCDepth;}
00070 Double_t outerBoundary(Int_t i = 0) {return Struct(i)->outerBoundary;}
00071 Double_t outerRCenter(Int_t i = 0) {return Struct(i)->outerRCenter;}
00072 Double_t outerMWCInn(Int_t i = 0) {return Struct(i)->outerMWCInn;}
00073 Double_t outerMWCOut(Int_t i = 0) {return Struct(i)->outerMWCOut;}
00074 Double_t outerMVCHei(Int_t i = 0) {return Struct(i)->outerMVCHei;}
00075 Int_t outerAirGaps(Int_t i = 0) {return Struct(i)->outerAirGaps;}
00076 Int_t outerExtraAl(Int_t i = 0) {return Struct(i)->outerExtraAl;}
00077 Double_t* outerZGaps(Int_t i = 0) {return Struct(i)->outerZGaps;}
00078 Double_t* outerZGapsSize(Int_t i = 0) {return Struct(i)->outerZGapsSize;}
00079 Double_t* outerXExtraAl(Int_t i = 0) {return Struct(i)->outerXExtraAl;}
00080 Double_t* outerZExtraAl(Int_t i = 0) {return Struct(i)->outerZExtraAl;}
00081 Double_t* outerDXExtraAl(Int_t i = 0) {return Struct(i)->outerDXExtraAl;}
00082 Double_t* outerDZExtraAl(Int_t i = 0) {return Struct(i)->outerDZExtraAl;}
00083 Double_t gatingGridZ() {
00084 return St_tpcPadPlanesC::instance()->outerSectorPadPlaneZ()
00085 - St_tpcWirePlanesC::instance()->outerSectorGatingGridPadPlaneSeparation();}
00086 Double_t zInnerOffset() {return St_tpcEffectiveGeomC::instance()->z_inner_offset();}
00087 Double_t zOuterOffset() {return St_tpcEffectiveGeomC::instance()->z_outer_offset();}
00088
00089 Double_t ifcRadius() {return tpcInnerRadius();}
00090 Double_t ofcRadius() {return tpcOuterRadius();}
00091
00092 protected:
00093 St_tpcDimensionsC(St_tpcDimensions *table=0) : TChair(table) {}
00094 virtual ~St_tpcDimensionsC() {fgInstance = 0;}
00095 private:
00096 static St_tpcDimensionsC* fgInstance;
00097 ClassDefChair(St_tpcDimensions, tpcDimensions_st )
00098 ClassDef(St_tpcDimensionsC,1)
00099 };
00100 #endif