next up previous contents
Next: 3.5 Patch SGVANA : Up: 3. Structure of SGV. Previous: 3.3 Patch SGVDETSIM :   Contents

3.4 Patch SGVTRKER : Tracking routines

This patch contains the code for tracking charged particles through the detector, and determining with what precision they can be measured.

$\bullet$
SUBROUTINE ZTTRAK( FIRST, PIN, XIN, CFIRST, CLAST, ZLAST, RPROD, ZPROD, IGEOM, PAR, TRIPRP, TIPZ, PHIIP, LAYLIS, ERROR) : TRAcK a particle through the detector
CALLED ROUTINE(S):
ZTREFL (decription 4.4.12, follow 3.4)

(To REFLect track in x-y plane.)

ZTTCYL (decription 4.4.6, follow 3.4)

(To get Track intersection with CYLinder.)

ZTFOLL (decription 4.4.56, follow 3.4)

(To FOLLow the track through the detector.)

VMOD,VZERO,UCOPY
(CERNLIB routines)

$\bullet$
SUBROUTINE ZTERRM(TYPSUR, LAYLIS, RELOAD, INCR, WGTINT, ERRARR, ERROR) : calculate ERRor Matrix
CALLED ROUTINE(S):
ZTTRWT (decription 4.4.57, follow 3.4)

(To calculate TRacK Weight matrix.)

ZTINVM (decription 4.4.11, follow 3.4)

(To invert a matrix (5X5))

VSCALE,VZERO,UCOPY
(CERNLIB routines)

$\bullet$
SUBROUTINE ZTFOLN(IGEOM, PP, VERT, LAYLIS) : FOLlow Neutral particle
CALLED ROUTINE(S):
ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2PI.)

VSCALE,VADD,VMOD,VDIST
(CERNLIB routines.)

$\bullet$
SUBROUTINE ZTCALO(IGEOM, PP, VERT, DIST, CTYP, X0, LAMBDA, SHOAX, CALTYP, NLAY, IERR) : Track to CALOrimeter
CALLED ROUTINE(S):
ZUGAUS (decription 4.7.13, follow 3.7)

(To get a GAUSsian random number.)

ZURECT (decription 4.7.14, follow 3.7)

(To get a RECTangular random number.)

ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2PI.)

ZUINPI (decription 4.7.3, follow 3.7)

(To bring angle IN the range 0 to PI.)

ZTTCYL (decription 4.4.6, follow 3.4)

(To get Track intersection with CYLinder.)

ZTTPLA (decription 4.4.8, follow 3.4)

(To get Track intersection with PLAne.)

VSCALE,VADD,VMOD,VDIST
(CERNLIB routines.)

$\bullet$
SUBROUTINE ZTTISC(P, V, REND, FIRST, SIPRP, IPZ, PHI0, PEND, VEND, DST, RCYL, TRACK, REQX0, X0INT, IGEOM, ERROR) : TRacK InterSection with Cylinder
CALLED ROUTINE(S):
ZTTCYL (decription 4.4.6, follow 3.4)

(To get Track intersection with CYLinder.)

VMOD
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTTCYL(P, V, SRAD, FIRST, SIPRP, IPZ, PHI0, PEND, VEND, DST, TRACK, ERROR) : Track intersect with CYLinder
CALLED ROUTINE(S):
ZTREFL (decription 4.4.12, follow 3.4)

(To REFLect track in x-y plane.)

ZTTRIP (decription 4.4.10, follow 3.4)

(To get TRue Impact Parameters.)

ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2PI.)

ZUINPI (decription 4.7.3, follow 3.7)

(To bring angle IN the range 0 to PI.)

PXTCPX (decription 4.7.4, follow 3.7)

(To transform Track parameters on Cylinder to PXpypz)

$\bullet$
SUBROUTINE ZTTISP(P, V, ZEND, FIRST, SIPRP, IPZ, PHI0, PEND, VEND, DST, ZPLA, TRACK, REQX0, X0INT, IGEOM, ERROR) : TRacK InterSection with Plane
CALLED ROUTINE(S):
ZTTPLA (decription 4.4.8, follow 3.4)

(To get Track intersection with PLAne.)

ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2PI.)

VMOD
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTTPLA(P, V, ZPLA, FIRST, IPRP, IPZ, PHI0, PEND, VEND, DST, TRACK, ERROR) : Track intersect with PLAne
CALLED ROUTINE(S):
ZTREFL (decription 4.4.12, follow 3.4)

(To REFLect track in x-y plane.)

ZTTRIP (decription 4.4.10, follow 3.4)

(To get TRue Impact Parameters.)

ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2PI.)

ZUINPI (decription 4.7.3, follow 3.7)

(To bring angle IN the range 0 to PI.)

PXTPPX (decription 4.7.5, follow 3.7)

(To transform Track parameters on Plan to PXpypz)

ZTTCYL (decription 4.4.6, follow 3.4)

(To get Track intersection with CYLinder.)

$\bullet$
SUBROUTINE ZTTDST(P, V, DST, FIRST, IPRP, IPZ, PHI, PEND, VEND, TRACK, ERROR) : Follow Track helix a DiSTance
CALLED ROUTINE(S):
ZTTPLA (decription 4.4.8, follow 3.4)

(To track a to a PLAne given by its z)

VMOD
(CERNLIB routine)

$\bullet$
SUBROUTINE ZTTRIP(P, V, TRIPRP, TIPZ, PHIIP) : calculate Impact Parameter
CALLED ROUTINE(S):
VDOT,VMOD,VUNIT
(CERNLIB routines)

$\bullet$
SUBROUTINE ZTINVM(MATRIX, INVRED, IERR) : INVert Matrix
CALLED ROUTINE(S):
ZTMINV

(To do Matrix INVert...)

UCOPY
(CERNLIB routines)

$\bullet$
SUBROUTINE ZTREFL(P, THT, OTHSID) : REFLect a track in the x-y plane
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTCNBL(IGEO) : Cylinder NumBer of Layers
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTPNBL(IGEO) : Plane NumBer of Layers
CALLED ROUTINE(S):
none

$\bullet$
CHARACTER*14 FUNCTION ZTCNAM( ICYL, TYP) : Cylinder NAMe
CALLED ROUTINE(S):
none

$\bullet$
CHARACTER*14 FUNCTION ZTPNAM(IPLA, TYP) : Plane NAMe
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCRAD( ICYL, TYP) : Cylinder RADius
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCLEN(ICYL, TYP) : Cylinder LENgth
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCZED(ICYL, TYP) : Cylinder ZED limits
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTPLAZ( IPLA, TYP) : PLAne Z
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTPRAD( IPLA, MINMAX, TYP) : Plane RADius
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCERF( ICYL) : Cylinder Error in R Fi
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCEZ(ICYL) : Cylinder Error in Z
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTPERX(IPLA) : Plane ERror in X
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTPERY( IPLA) : Plane ERror in Y
CALLED ROUTINE(S):
none

$\bullet$
LOGICAL FUNCTION ZTISCB(ICYL) : IS Calorimeter (Barrel)
CALLED ROUTINE(S):
none

$\bullet$
LOGICAL FUNCTION ZTISCF( IPLA) : IS Calorimeter (Forward)
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTCBNL(IGEO) : Calo (Barrel) Number of Layers
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTCFNL(IGEO) : Calo (Fwd) Number of Layers
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTCSMC( ICAL, CTYP) : Calorimeter Shower Meassurement Code
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCSDE( ICAL, ERRTYP, CTYP) : Calorimeter Shower Direction Error
CALLED ROUTINE(S):
ZTCMOS (decription 4.4.34, follow 3.4)

(To get Calorimeter MOdule Size)

ZTCRAD (decription 4.4.17, follow 3.4)

(To get Cylinder RADius.)

$\bullet$
REAL FUNCTION ZTCFCP( ICAL, CTYP) : Calorimeter First Cell Phi
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTCNCL( ICAL,COORD, CTYP) : Calorimeter Number of CeLls
CALLED ROUTINE(S):
none

$\bullet$
SUBROUTINE ZTCMOS(ICAL,CTYP,ZSIGN,CMIN,CMAX,CWID) : Calorimeter MOdule Size.
CALLED ROUTINE(S):
ZTCSMC (decription 4.4.30, follow 3.4)

(To get Calorimeter Shower Meassurement Code)

ZTCRAD (decription 4.4.17, follow 3.4)

(To get Cylinder RADius.)

ZTCFCP (decription 4.4.32, follow 3.4)

(To get Calorimeter First Cell Phi)

ZTCZED (decription 4.4.19, follow 3.4)

(To get Cylinder ZED limits)

ZTPRAD (decription 4.4.21, follow 3.4)

(To get Plane RADius)

ZTCNCL (decription 4.4.33, follow 3.4)

(To get Calorimeter Number of CeLls)

$\bullet$
REAL FUNCTION ZTCTHR( ICAL, CTYP): Calorimeter THReshold
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCEFF( ICAL, CTYP): Calorimeter EFFiciency
CALLED ROUTINE(S):
none

$\bullet$
FUNCTION ZTCRES( ICAL, CTYP, NRG) : Calorimeter resolution
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCTHM( ICAL, CTYP): Calorimeter THReshold for Mips
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCEFM( ICAL, CTYP): Calorimeter EFficiency for Mips
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCMSI( ICAL, CTYP ) : Calorimeter Mip ave. SIgnal
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTCMWI( ICAL, CTYP) : Calorimeter Mip resp. WIdth
CALLED ROUTINE(S):
none

$\bullet$
FUNCTION ZTCTYP( ICAL, CTYP) : Calorimeter TYPe
CALLED ROUTINE(S):
none

$\bullet$
CHARACTER*14 FUNCTION ZTCALN( CTYP ) : CALorimeter Name
CALLED ROUTINE(S):
ZTCNAM (decription 4.4.15, follow 3.4)

(To get Cylider NANe.)

ZTPNAM (decription 4.4.16, follow 3.4)

(To get Plane NANe.)

$\bullet$
REAL FUNCTION ZTCX0(ICYL) : Cylinder X0
CALLED ROUTINE(S):
none

$\bullet$
REAL FUNCTION ZTPX0(IPLA) : Plane X0
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTCANB(ICYL) : Cylinder Atom number
CALLED ROUTINE(S):
none

$\bullet$
INTEGER FUNCTION ZTPANB( IPLA) : Plane Atom number
CALLED ROUTINE(S):
none

$\bullet$
SUBROUTINE ZTTINF(LL, ZVRTXO, AMASSO, PMOMO, THETAO, PHI0O, DISTO, RO, ZO, PHIO, BETAO) : Track INFormation
CALLED ROUTINE(S):
none

$\bullet$
SUBROUTINE ZTDTGE(NAME,ILAY,GEOPAR,IDET,CALTYP) : DeTector GEometry
CALLED ROUTINE(S):
ZUCINS (decription 4.7.8, follow 3.7)

(To Check if number IN Set.)

ZTCRAD (decription 4.4.17, follow 3.4)

(To get Cylinder RADius.)

ZTCZED (decription 4.4.19, follow 3.4)

(To get Cylinder ZED.)

ZTPLAZ (decription 4.4.20, follow 3.4)

(To get PLAne Z.)

ZTPRAD (decription 4.4.21, follow 3.4)

(To get Plane RADius.)

ZTCSMC (decription 4.4.30, follow 3.4)

(To get Calorimeter Shower Measurement Code.)

ZTCFCP (decription 4.4.32, follow 3.4)

(To get Calorimeter First Cell Phi.)

ZTCNCL (decription 4.4.33, follow 3.4)

(To get Calorimeter Number of CeLls.)

ZTCTYP (decription 4.4.42, follow 3.4)

(To get Calorimeter TYPe.)

ICINQU
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTDTPM(NAME,ILAY,MESPAR,IDET) : DeTector Position Measurement parameters
CALLED ROUTINE(S):
ZUCINS (decription 4.7.8, follow 3.7)

(To Check if number IN Set.)

ZTCERF (decription 4.4.22, follow 3.4)

(To get Cylinder Error in RFi.)

ZTCEZ (decription 4.4.23, follow 3.4)

(To get Cylinder Error in Z.)

ZTPERX (decription 4.4.24, follow 3.4)

(To get Plane ERror in X.)

ZTPERY (decription 4.4.25, follow 3.4)

(To get Plane ERror in Y.)

ZTCSDE (decription 4.4.31, follow 3.4)

(To get Calorimeter Shower Direction Errors.)

ZTCSMC (decription 4.4.30, follow 3.4)

(To get Calorimeter Shower Measurement Code.)

ICINQU
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTCSEP(NAME,ILAY,ENE,EMES,IDET) : Calorimeter Shower Energy Parameters
CALLED ROUTINE(S):
ZTCRES (decription 4.4.37, follow 3.4)

(To get Calorimeter energy RESoultion.)

ZTCTHR (decription 4.4.35, follow 3.4)

(To get Calorimeter THReshold.)

ZTCEFF (decription 4.4.36, follow 3.4)

(To get Calorimeter EFFiciency.)

ZUCINS (decription 4.7.8, follow 3.7)

(To Check if number IN Set.)

ICINQU
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTCMPA(NAME,ILAY,MMES,IDET) : Calorimeter Mip PArameters
CALLED ROUTINE(S):
ZTCTHM (decription 4.4.38, follow 3.4)

(To get Calorimeter THreshold for Mips.)

ZTCEFM (decription 4.4.39, follow 3.4)

(To get Calorimeter EFficiency for Mips.)

ZTCMSI (decription 4.4.40, follow 3.4)

(To get Calorimeter Mip SIgnal.)

ZTCMWI (decription 4.4.41, follow 3.4)

(To get Calorimeter Mip signal WIdth.)

ZUCINS (decription 4.7.8, follow 3.7)

(To Check if number IN Set.)

ICINQU
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTDTLL(NAME,LS,IDET) DeTector Layer-List
CALLED ROUTINE(S):
ZUSOR (decription 4.7.12, follow 3.7)

(To do Set OR.)

VZERO,ICINQU
(CERNLIB routines.)

$\bullet$
SUBROUTINE ZTNOLM(ON_OFF) : NO z LiMit
CALLED ROUTINE(S):
UCOPY
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTINI(STEER, RR,PRDET,PLDET) : Tracking Initialisation
CALLED ROUTINE(S):
none

$\bullet$
SUBROUTINE ZTFOLL(MOMENT, CHA, POLANG, IPRP, IPZ, PHIIP, MASS, RREFIN, RR, RV, REND, ZV, ZEND, TRACK, IFLG, IERR) : FOLLow track through detector
CALLED ROUTINE(S):
ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2 PI.)

ZTTRWT (decription 4.4.57, follow 3.4)

(To calculate TRacK WeiGhT matrix .)

VZERO,UCOPY
(CERNLIB routines.)

$\bullet$
SUBROUTINE ZTTRWT(INCR, IERR) : calc. TRacK WeiGhT matrix
CALLED ROUTINE(S):
ZTWGTC (decription 4.4.62, follow 3.4)

(To calculate weight matrix.)

ZTMINV

(To invert weight matrix.)

$\bullet$
SUBROUTINE ZTREFE(DSTR, IERR) : intersection with REFErence surface
CALLED ROUTINE(S):
none

$\bullet$
SUBROUTINE ZTREF2(DSTR, IPRP, IPZ, PHIIP, IERR) : intersection with REFErence surface
CALLED ROUTINE(S):
ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2PI.)

ZUINPI (decription 4.7.3, follow 3.7)

(To bring angle IN the range 0 to PI.)

ZTTCYL (decription 4.4.6, follow 3.4)

(To get Track intersection with CYLinder.)

ZTTPLA (decription 4.4.8, follow 3.4)

(To get Track intersection with PLAne.)

$\bullet$
SUBROUTINE ZTFOLW(DSTR, INCR, IERR) : FOLlow track to intersections with surfaces
CALLED ROUTINE(S):
ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In range between 0 and 2 PI.)

SORTZV :
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTFOL2(DSTR, INCR, IPRP, IPZ, PHIIP, IERR) : FOLlow track to intersections with surfaces
CALLED ROUTINE(S):
ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In the range 0 to 2PI.)

ZUINPI (decription 4.7.3, follow 3.7)

(To bring angle IN the range 0 to PI.)

ZTTCYL (decription 4.4.6, follow 3.4)

(To get Track intersection with CYLinder.)

ZTTPLA (decription 4.4.8, follow 3.4)

(To get Track intersection with PLAne.)

ZUI2PI (decription 4.7.2, follow 3.7)

(To bring angle In range between 0 and 2 PI.)

SORTZV :
(CERNLIB routine.)

$\bullet$
SUBROUTINE ZTWGTC(INCR) : WeiGhT CALculation
CALLED ROUTINE(S):
ZTGEOC

(To switch between plane and cylindrical geometry.)

ZTPRPG

(To do geometrical propagation of errors.)

ZTMSCT

(To include multiple scattering.)

ZTWGAD

(To add contribution of measurement.)

VZERO,VADD,UCOPY
(CERNLIB routines.)

SUBROUTINE ZTGEOC(WG,IPT) * CALLED ROUTINE(S): * * none. *


next up previous contents
Next: 3.5 Patch SGVANA : Up: 3. Structure of SGV. Previous: 3.3 Patch SGVDETSIM :   Contents
Mikael Berggren 2003-03-27