26 #include <TClonesArray.h>
68 fName =
new TString(
"");
69 fCrateName =
new TString(
"");
71 for (Int_t i = 0; i < kNMT; i++) {
77 for (Int_t is = 0; is < kNS; is++) {
80 fXDigBox[i][is] =
new TBox(0,0,0,0);
81 fYDigBox[i][is] =
new TBox(0,0,0,0);
82 fXDigBox[i][is]->SetBit(kCannotPick);
83 fYDigBox[i][is]->SetBit(kCannotPick);
84 fXDigBox[i][is]->SetFillStyle(1001);
85 fYDigBox[i][is]->SetFillStyle(1001);
86 fXDigBox[i][is]->SetFillColor(4);
87 fYDigBox[i][is]->SetFillColor(4);
107 for (Int_t i = 0; i < kNMT; i++) {
108 fPadsX[i] =
new TClonesArray(
"AliMpPad",16); fNPadsX[i] = 0;
109 fPadsY[i] =
new TClonesArray(
"AliMpPad",16); fNPadsY[i] = 0;
153 for (Int_t imt = 0; imt <
kNMT; imt++) {
154 for (Int_t is = 0; is <
kNS; is++) {
191 for (Int_t imt = 0; imt <
kNMT; imt++) {
192 for (Int_t is = 0; is <
kNS; is++) {
204 for (Int_t imt = 0; imt <
kNMT; imt++) {
205 for (Int_t is = 0; is <
kNS; is++) {
220 for (Int_t ich = 0; ich <
kNMT; ich++) {
229 if (
fName->Length()) {
237 for (Int_t ich = 0; ich <
kNMT; ich++) {
246 Int_t padxIx = -1, padxIy1 = +999, padxIy2 = -999;
247 Int_t padyIy = -1, padyIx1 = +999, padyIx2 = -999;
248 for (Int_t ip = 0; ip <
fNPadsX[0]; ip++) {
250 padxIx = pad->
GetIx();
251 padxIy1 = TMath::Min(padxIy1,pad->
GetIy());
252 padxIy2 = TMath::Max(padxIy2,pad->
GetIy());
254 for (Int_t ip = 0; ip <
fNPadsY[0]; ip++) {
256 padyIy = pad->
GetIy();
257 padyIx1 = TMath::Min(padyIx1,pad->
GetIx());
258 padyIx2 = TMath::Max(padyIx2,pad->
GetIx());
272 Float_t minX, maxX, minY, maxY;
274 Float_t xloc, yloc, xglo=0., yglo=0., zglo=0.;
275 for (Int_t ich = 0; ich <
kNMT; ich++) {
276 minX = +9999; maxX = -9999;
277 minY = +9999; maxY = -9999;
278 for (Int_t ix = 0; ix < fNPadsX[ich]; ix++) {
285 minX = TMath::Min(minX,(xglo-dx));
286 maxX = TMath::Max(maxX,(xglo+dx));
287 minY = TMath::Min(minY,(yglo-dy));
288 maxY = TMath::Max(maxY,(yglo+dy));
304 for (Int_t ich = 0; ich <
kNMT; ich++) {
305 delete fPadsX[ich]; fNPadsX[ich] = 0;
306 delete fPadsY[ich]; fNPadsY[ich] = 0;
315 if (
fName->Length() >= 5) {
316 const Char_t *name =
fName->Data();
317 TString sline = TString(name[4]);
329 if (
fName->Length() >= 5) {
330 const Char_t *name =
fName->Data();
331 TString scol = TString(name[2]);
343 if (
fName->Length() >= 5) {
344 const Char_t *name =
fName->Data();
345 if (!strncmp(name,
"L",1))
return 0;
346 if (!strncmp(name,
"R",1))
return 1;
362 printf(
"Position and dimension:\n");
363 for (Int_t imt = 0; imt < 4; imt++) {
Int_t GetNofLocations() const
UChar_t fXDig[kNMT][kNS]
X-digits amplitude, set by GUI.
Int_t fNPadsX[kNMT]
adding pads from mapping to calculate the board geometry
UChar_t GetYOver() const
get neighbouring boards with common y strips
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
Int_t GetYSix1() const
get first x-index in detector element for a y-strip
Int_t GetNumber() const
get the number of this board
UChar_t GetPosition() const
get the board position inside the detector element in y direction
Float_t fYCenter[kNMT]
Y-center of the board.
Int_t GetSide() const
get detector side (Left=0 , Right=1)
UChar_t fPosition
Y-boards position.
Int_t GetXSix() const
get x-index in detector element for an x-strip
TBox * fXDigBox[kNMT][kNS]
X-digits boxes.
virtual ~AliMUONTriggerGUIboard()
void MakeGeometry()
create the display geometry from the mapping pads
Int_t GetCol() const
get column
TClonesArray * fPadsX[kNMT]
array of mapping pads in x
TString * fName
Board name LCxLxBx or RCxLxBx.
TBox * fYDigBox[kNMT][kNS]
Y-digits boxes.
Float_t fXWidth[kNMT]
X-width of the board.
Char_t * GetBoardName() const
get the standard name of this board
TClonesArray * fPadsY[kNMT]
array of mapping pads in y
Float_t GetYCenter(Int_t imt) const
get y-center of the board in chamber imt
Int_t GetYSix2() const
get last x-index in detector element for a y-strip
Int_t GetIdCircuit() const
get the id of the circuit
Int_t fXSix
X-strips ix index in the board.
void PrintBoard() const
print information on this board
void SetYDigBox(Int_t imt, Int_t is, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
set y-strip box for display
void ClearYDigits()
delete the set y-digits
Int_t GetLine() const
get line
void SetXDigBox(Int_t imt, Int_t is, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
set x-strip box for display
Float_t GetXWidth(Int_t imt) const
get x-width of the board in chamber imt
Int_t fYSix1
Y-strips first ix index in the board.
Float_t fYWidth[kNMT]
Y-width of the board.
UChar_t fYOver
Y-boards with common y-strips.
Int_t GetXSiy2() const
get last y-index in detector element for an x-strip
Double_t GetPositionY() const
Return the pad x position (in cm)
Int_t GetDetElemId() const
get the id of the detector element
Int_t GetYSiy() const
get y-index in detector element for a y-strip
Int_t fYSiy
Y-strips iy index in the board.
void ClearXDigits()
delete the set x-digits
Float_t GetYWidth(Int_t imt) const
get y-width of the board in chamber imt
Float_t GetXCenter(Int_t imt) const
get x-center of the board in chamber imt
Int_t GetLocalBoardId(Int_t i) const
Int_t fYSix2
Y-strips last ix index in the board.
Int_t fIdCircuit
Circuit number.
Int_t GetXSiy1() const
get first y-index in detector element for an x-strip
Trigger GUI utility class: single board object.
Float_t fZCenter[kNMT]
Z-center of the board.
Int_t fNPadsY[kNMT]
nr of added mapping pads in y
Int_t fXSiy1
X-strips first iy index in the board.
Double_t GetDimensionY() const
Return the y pad dimension - half length (in cm)
Float_t GetZCenter(Int_t imt) const
get z-center of the board in chamber imt
UChar_t fYDig[kNMT][kNS]
Y-digits amplitude, set by GUI.
Class which encapsuate all information about a pad.
Int_t GetNStripX() const
get number of x strips
Double_t GetPositionX() const
Return the pad x position (in cm)
Int_t GetNStripY() const
get number of y strips
Double_t GetDimensionX() const
Return the x pad dimension - half length (in cm)
Float_t fXCenter[kNMT]
X-center of the board.
Int_t fXSiy2
X-strips last iy index in the board.