* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.3 2000/06/29 12:34:09 morsch
-AliMUONSegmentation class has been made independent of AliMUONChamber. This makes
-it usable with any other geometry class. The link to the object to which it belongs is
-established via an index. This assumes that there exists a global geometry manager
-from which the pointer to the parent object can be obtained (in our case gAlice).
-
-Revision 1.2 2000/06/15 07:58:48 morsch
-Code from MUON-dev joined
-
-Revision 1.1.2.1 2000/06/09 21:38:15 morsch
-AliMUONSegmentationV04 code from AliMUONSegResV04.cxx
-
-*/
+/* $Id$ */
/////////////////////////////////////////////////////
// Segmentation and Response classes version 04 //
#include "AliMUONSegmentationV04.h"
+#include "AliMUONChamber.h"
+#include "AliMUON.h"
+#include "AliRun.h"
+
#include <TMath.h>
//___________________________________________
void AliMUONSegmentationV04::Init(Int_t chamber)
{
- printf("\n Initialise segmentation v04 \n");
+
//
// Fill the arrays fCx (x-contour) and fNpxS (ix-contour) for each sector
// These arrays help in converting from real to pad co-ordinates and
// concentric circles as shown below
//
// PCB module size in cm
+ //printf("\n Initialise Segmentation V04 \n");
+
const Float_t kDxPCB=40, kDyPCB=40;
// PCB distribution (7 rows with 1+3 segmentation regions)
const Int_t kpcb[7][4] = {{1, 2, 2, 2},
fNpy=7*nPyPCB;
//
// Calculate padsize along x
- fDpxD[fNsec-1]=fDpx;
+ (*fDpxD)[fNsec-1]=fDpx;
if (fNsec > 1) {
for (Int_t i=fNsec-2; i>=0; i--){
(*fDpxD)[i]=(*fDpxD)[fNsec-1]/(*fNDiv)[i];
- printf("\n test ---dx %d %f \n",i,(*fDpxD)[i]);
}
}
//
} // sectors
} // pad raws in module
} // PCB rows
+
+ AliMUON *pMUON = (AliMUON *) gAlice->GetModule("MUON");
+ fChamber=&(pMUON->Chamber(chamber));
+ fZ = fChamber->Z();
}
void AliMUONSegmentationV04::GiveTestPoints(Int_t &n, Float_t *x, Float_t *y) const