StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
St_tpcPadConfigC.h
1 #ifndef St_tpcPadConfigC_h
2 #define St_tpcPadConfigC_h
3 
4 #include "TChair.h"
5 #include "tables/St_tpcPadConfig_Table.h"
6 
7 class St_tpcPadConfigC : public TChair {
8  public:
9  static St_tpcPadConfigC* instance();
10  tpcPadConfig_st *Struct(Int_t i=0);
11  UInt_t getNumRows();
12  UChar_t *itpc(Int_t i=0) {return (((St_tpcPadConfig*) Table())->GetTable(i))->itpc;}
13  UChar_t iTpc(Int_t sector = 1);
14  UChar_t iTPC(Int_t sector = 1) {return iTpc(sector);}
15  Int_t padRows(Int_t sector = 1);
16  Int_t innerPadRows(Int_t sector = 1);
17  Int_t innerPadRows48(Int_t sector = 1);
18  Int_t innerPadRows52(Int_t sector = 1);
19  Int_t outerPadRows(Int_t sector = 1);
20  Int_t superInnerPadRows(Int_t sector = 1);
21  Int_t superOuterPadRows(Int_t sector = 1);
22  Double_t innerSectorPadWidth(Int_t sector = 1);
23  Double_t innerSectorPadLength(Int_t sector = 1);
24  Double_t innerSectorPadPitch(Int_t sector = 1);
25  Double_t innerSectorRowPitch1(Int_t sector = 1);
26  Double_t innerSectorRowPitch2(Int_t sector = 1);
27  Double_t firstPadRow(Int_t sector = 1);
28  Double_t firstOuterSectorPadRow(Int_t sector = 1);
29  Double_t lastOuterSectorPadRow(Int_t sector = 1);
30  Double_t firstRowWidth(Int_t sector = 1);
31  Double_t lastRowWidth(Int_t sector = 1);
32  Double_t outerSectorPadWidth(Int_t sector = 1);
33  Double_t outerSectorPadLength(Int_t sector = 1);
34  Double_t outerSectorPadPitch(Int_t sector = 1);
35  Double_t outerSectorRowPitch(Int_t sector = 1);
36  Double_t outerSectorLength(Int_t sector = 1);
37  Double_t ioSectorSeparation(Int_t sector = 1);
38  Double_t innerSectorEdge(Int_t sector = 1);
39  Double_t outerSectorEdge(Int_t sector = 1);
40  Double_t innerSectorPadPlaneZ(Int_t sector = 1);
41  Double_t outerSectorPadPlaneZ(Int_t sector = 1);
42  Int_t* innerPadsPerRow(Int_t sector = 1);
43  Int_t* outerPadsPerRow(Int_t sector = 1);
44  Int_t padsPerRow(Int_t sector = 1, Int_t row = 1);
45  Double_t* innerRowRadii(Int_t sector = 1);
46  Double_t* outerRowRadii(Int_t sector = 1);
47  // taken from StRItpcPadPlane
48  Int_t numberOfRows(Int_t sector = 1);
49  Int_t numberOfInnerRows(Int_t sector = 1);
50  Int_t numberOfInnerRows48(Int_t sector = 1);
51  Int_t numberOfInnerRows52(Int_t sector = 1);
52  Int_t numberOfOuterRows(Int_t sector = 1);
53  Bool_t isRowInRange(Int_t sector = 1, Int_t row = 1);
54  Double_t radialDistanceAtRow(Int_t sector = 1, Int_t row = 1);
55  Int_t numberOfPadsAtRow(Int_t sector = 1, Int_t row = 1);
56  Double_t PadWidthAtRow(Int_t sector = 1, Int_t row = 1);
57  Double_t PadLengthAtRow(Int_t sector = 1, Int_t row = 1);
58  Double_t PadPitchAtRow(Int_t sector = 1, Int_t row = 1);
59  Double_t RowPitchAtRow(Int_t sector = 1, Int_t row = 1);
60  Int_t indexForRowPad(Int_t sector = 1, Int_t row = 1, Int_t pad = 1);
61  bool isiTpcSector(Int_t sector = 1) { return iTpc(sector) == 1; }
62  bool isiTpcPadRow(Int_t sector = 1, Int_t row = 1) { return iTpc(sector) && row >= 1 && row <= numberOfInnerRows(sector); }
63  bool isInnerPadRow(Int_t sector = 1, Int_t row = 1) { return row <= numberOfInnerRows(sector); }
64  Int_t IsRowInner(Int_t sector = 1, Int_t row = 1) {return (row <= innerPadRows(sector)) ? 1 : 0;}
65  protected:
66  St_tpcPadConfigC(St_tpcPadConfig *table=0) : TChair(table) {}
67  virtual ~St_tpcPadConfigC() {fgInstance = 0;}
68  private:
69  static St_tpcPadConfigC* fgInstance;
70  ClassDefChair(St_tpcPadConfig, tpcPadConfig_st )
71  ClassDef(St_tpcPadConfigC,1) //C++ TChair for tpcPadConfig table class
72 };
73 #endif
Definition: TChair.h:27