-
- if (lastHitSt12 >= 0) {
- for (Int_t iHit = 0; iHit <= lastHitSt12; iHit++) {
- SetPoint(fCount,xr[iHit],yr[iHit],zr[iHit]);
- fCount++;
- }
- if (firstHitSt3 >= 0) {
- Propagate(xr,yr,zr,lastHitSt12,firstHitSt3);
- SetPoint(fCount,xr[firstHitSt3],yr[firstHitSt3],zr[firstHitSt3]);
- fCount++;
- if (lastHitSt3 >= 0) {
- SetPoint(fCount,xr[lastHitSt3],yr[lastHitSt3],zr[lastHitSt3]);
- fCount++;
- if (firstHitSt45 >= 0) {
- Propagate(xr,yr,zr,lastHitSt3,firstHitSt45);
- for (Int_t iHit = firstHitSt45; iHit < nTrackHits; iHit++) {
- SetPoint(fCount,xr[iHit],yr[iHit],zr[iHit]);
- fCount++;
- }
- } else {
- Propagate(xr,yr,zr,lastHitSt3,9999);
- }
- } else if (firstHitSt45 >= 0) {
- Propagate(xr,yr,zr,firstHitSt3,firstHitSt45);
- for (Int_t iHit = firstHitSt45; iHit < nTrackHits; iHit++) {
- SetPoint(fCount,xr[iHit],yr[iHit],zr[iHit]);
- fCount++;
- }
- } else {
- Propagate(xr,yr,zr,firstHitSt3,9999);
- }
- } else if (lastHitSt3 >= 0) {
- Propagate(xr,yr,zr,lastHitSt12,lastHitSt3);
- SetPoint(fCount,xr[lastHitSt3],yr[lastHitSt3],zr[lastHitSt3]);
- fCount++;
- if (firstHitSt45 >= 0) {
- Propagate(xr,yr,zr,lastHitSt3,firstHitSt45);
- for (Int_t iHit = firstHitSt45; iHit < nTrackHits; iHit++) {
- SetPoint(fCount,xr[iHit],yr[iHit],zr[iHit]);
- fCount++;
- }
- } else {
- Propagate(xr,yr,zr,lastHitSt3,9999);
- }
- } else if (firstHitSt45 >= 0){
- Propagate(xr,yr,zr,lastHitSt12,firstHitSt45);
- for (Int_t iHit = firstHitSt45; iHit < nTrackHits; iHit++) {
- SetPoint(fCount,xr[iHit],yr[iHit],zr[iHit]);
- fCount++;
- }
- } else {
- Propagate(xr,yr,zr,lastHitSt12,9999);
- }
- } else if (firstHitSt3 >= 0) {
- SetPoint(fCount,xr[firstHitSt3],yr[firstHitSt3],zr[firstHitSt3]);
- fCount++;
- if (lastHitSt3 >= 0) {
- SetPoint(fCount,xr[lastHitSt3],yr[lastHitSt3],zr[lastHitSt3]);
- fCount++;
- if (firstHitSt45) {
- Propagate(xr,yr,zr,lastHitSt3,firstHitSt45);
- for (Int_t iHit = firstHitSt45; iHit < nTrackHits; iHit++) {
- SetPoint(fCount,xr[iHit],yr[iHit],zr[iHit]);
- fCount++;
- }
- } else {
- Propagate(xr,yr,zr,lastHitSt3,9999);
- }
- } else if (firstHitSt45 >= 0) {
- Propagate(xr,yr,zr,firstHitSt3,firstHitSt45);
- for (Int_t iHit = firstHitSt45; iHit < nTrackHits; iHit++) {
- SetPoint(fCount,xr[iHit],yr[iHit],zr[iHit]);
- fCount++;
- }
- } else {
- Propagate(xr,yr,zr,firstHitSt3,9999);
- }
- } else if (lastHitSt3 >= 0) {
- SetPoint(fCount,xr[lastHitSt3],yr[lastHitSt3],zr[lastHitSt3]);