fNonBendingCoor = theGhit->X();
fZ = theGhit->Z();
// fTrack = theGhit->fTrack; ?????????
- fChamberNumber = AliMUONConstants::ChamberNumber(fZ);
- fDetElemId = 0;
+ fDetElemId = theGhit->UserId();
+ if (fDetElemId) fChamberNumber = fDetElemId / 100 - 1;
+ else fChamberNumber = AliMUONConstants::ChamberNumber(fZ);
// other fields will be updated in
// AliMUONEventReconstructor::NewHitForRecFromTrackRef,
// except the following ones
track = trackSave = -999;
Bool_t isNewTrack;
- Int_t iHitMin, iChamber;
+ Int_t iHitMin, iChamber, detElemId;
trackParam = new AliMUONTrackParam();
hitForRec = new AliMUONHitForRec();
hitForRec->SetNonBendingCoor(x);
hitForRec->SetZ(z);
hitForRec->SetBendingReso2(0.0);
- hitForRec->SetNonBendingReso2(0.0);
- iChamber = AliMUONConstants::ChamberNumber(z);
+ hitForRec->SetNonBendingReso2(0.0);
+ detElemId = hitForRec->GetDetElemId();
+ if (detElemId) iChamber = detElemId / 100 - 1;
+ else iChamber = AliMUONConstants::ChamberNumber(z);
hitForRec->SetChamberNumber(iChamber);
muonTrack->AddTrackParamAtHit(trackParam);
Float_t bendingSlope2,nonBendingSlope2,bendingMomentum2;
TClonesArray *newMuonTrackRef = new TClonesArray("AliMUONTrack", 10);
Int_t iHit1;
- Int_t iChamber = 0;
+ Int_t iChamber = 0, detElemId = 0;
Int_t nRec = 0;
Int_t nTrackHits = 0;
hitForRec->SetNonBendingCoor(xRec);
hitForRec->SetBendingCoor(yRec);
hitForRec->SetZ(zRec);
- iChamber = AliMUONConstants::ChamberNumber(zRec);
+ detElemId = hitForRec->GetDetElemId();
+ if (detElemId) iChamber = detElemId / 100 - 1;
+ else iChamber = AliMUONConstants::ChamberNumber(zRec);
hitForRec->SetChamberNumber(iChamber);
hitForRec->SetBendingReso2(0.0);
hitForRec->SetNonBendingReso2(0.0);
// like in Fortran TRACKF_STAT.
AliMUONHitForRec* hitForRec;
Double_t bendCoor, nonBendCoor, radius;
- Int_t chamber = AliMUONConstants::ChamberNumber(Hit->Z()); // chamber(0...)
+ Int_t detElemId = Hit->UserId(), chamber = 0;
+ if (detElemId) chamber = detElemId / 100 - 1;
+ else chamber = AliMUONConstants::ChamberNumber(Hit->Z()); // chamber(0...)
if (chamber < 0) return NULL;
// only in tracking chambers (fChamber starts at 1)
if (chamber >= AliMUONConstants::NTrackingCh()) return NULL;