&DRIFT


overview

  The instructions of the drift section fall in 4 categories:

  - setting various parameters
  - calibration
  - display of drift behaviour
  - service instructions

  This is probably the most intensively used section of Garfield.
  Before loops and procedure calls became available, many requests for
  instructions that are variations on existing instructions were made.
  This has lead to a fair amount of duplication among the instructions.

  ------------------------------------------------------------------------
  Setting parameters:
  ------------------------------------------------------------------------
  AREA                       Sets the size and view of the drift area
  GRID                       Grid density for tables and contour plots
  INTEGRATION-PARAMETERS     Accuracy of diffusion, Townsend integration
  LINES                      Number of drift lines used by x(t) etc.
  OPTIONS                    Debugging options
  SELECT                     Selection of sense wires
  TRACK                      Sets the particle trajectory
  TRAP                       Change-over point of integration algorithm

  ------------------------------------------------------------------------
  Calibration:
  ------------------------------------------------------------------------
  ARRIVAL-TIME-DISTRIBUTION  x(t) Relations, detailed calculation
  MINIMISE                   Search for the minimum of a function
  TABLE                      Produces a drift time table
  TIMING                     Arrival time distributions for 2D areas
  XT-PLOT                    x(t) Relations, simple variant

  ------------------------------------------------------------------------
  Display drift behaviour:
  ------------------------------------------------------------------------
  CLUSTERING-HISTOGRAMS      Makes histograms of the cluster statistics
  DRIFT                      Plots drift lines and isochrones
  GRAPHICS-INPUT             Graphics menu driven drift line plotting
  LORENTZ                    Prints the Lorentz angle at a given point
  PLOT                       Plots drift related quantities
  SINGLE                     Graphs for a single drift line
  SPEED                      Prints the drift speed at a given point
  TIME                       Timing of drift line calculation

  ------------------------------------------------------------------------
  Service instructions:
  ------------------------------------------------------------------------
  PREPARE-TRACK              Prepares a track of interpolation
  WRITE-ISOCHRONES           Writes the set of isochrones to a file
  WRITE-TRACK                Writes a prepared track to a file

  Note: There are procedures that perform drift related tasks:
        DRIFT_ELECTRON, DRIFT_MC_ELECTRON, DRIFT_ELECTRON_3,
        DRIFT_ION, DRIFT_MC_ION, DRIFT_ION_3, GET_DRIFT_LINE,
        PLOT_DRIFT_LINE, NEW_TRACK, GET_CLUSTER, PLOT_TRACK,
        PLOT_DRIFT_AREA and others.

        The FIT_GAUSSIAN procedure can be of use when studying
        the output of the ARRIVAL instruction.

AREA

  Changes the area in which electrons and ions are allowed to
  drift. This is also the part of the chamber that is plotted.

  Formats:

  See &FIELD -> AREA

ARRIVAL-TIME-DISTRIBUTION

  Computes the arrival time distribution of the n'th electron
  from a series of tracks, for each selected wire in the AREA
  currently set. A by-product of this calculation is the x(t)
  relation and an estimate of the arrival time spread.

  See also XT-PLOT for a comparison with this related command.

  This command overwrites the geometrical track information
  from the TRACK command, but respects the kind of track. Since
  the default track type (a fixed number of deposits at regular
  intervals) is not meaningful in the present context, it is
  important to set the track type before issuing the ARRIVAL
  comand.

  The PROGRESS-PRINT global option enables you to follow the
  progress of the calculations - which tend to be lengthy.

  Format:

  ARRIVAL-TIME-DISTRIBUTION ...
       [ELECTRON {electron | LAST | ONE-BUT-LAST | ... }] ...
       [THRESHOLD threshold] ...
       [NOAUTOSCALE-TIME-WINDOW | AUTOSCALE-TIME-WINDOW] ...
       [TIME-WINDOW tmin tmax ] ...
       [X-RANGE xmin xmax] [X-STEP-SIZE x_step] ...
       [Y-RANGE ymin ymax] [LINES lines] [ANGLE phi] ...
       [DIFFUSION | NODIFFUSION] ...
       [ATTACHMENT | NOATTACHMENT] ...
       [DATASET dsname [member]] [REMARK remark] ...
       [BINS bins] ...
       [ITERATIONS loops] ...
       [POLYNOMIAL-ORDER order] ...
       [NOKEEP-HISTOGRAMS | KEEP-HISTOGRAMS] ...
       [NOKEEP-RESULTS | KEEP-RESULTS] ...
       [NOPLOT-EACH-X-OVERALL | PLOT-EACH-X-OVERALL] ...
       [NOPLOT-EACH-X-SELECTED-ELECTRON | ...
           PLOT-EACH-X-SELECTED-ELECTRON] ...
       [NOPRINT-EACH-X-OVERALL | PRINT-EACH-X-OVERALL] ...
       [NOPRINT-EACH-X-SELECTED-ELECTRON | ...
           PRINT-EACH-X-SELECTED-ELECTRON] ...
       [PLOT-OVERVIEW | NOPLOT-OVERVIEW]

  If you don't manage to fit all this on a single line, remember
  that an instruction can be split over several lines by putting
  an ellipsis at the end of each line but the last.

  Example:

  TRACK EXPONENTIAL
  ARRIVAL ELECTRON 5 LAST DATASET "arrival/electron.5" THRESH 0.8

  First, the track type is set to EXPONENTIAL, i.e. the mean
  number of clusters per cm and the cluster size distribution
  from the gas section are used. One could also ask for HEED.
  Then, the arrival time distribution of the 5th and of the last
  electron are computed. A file is written that contains the
  the time by which 80 % of these electrons have reached the
  wire.

Additional Information on:

  • electron
  • threshold
  • AUTOSCALE
  • TIME-WINDOW
  • X-RANGE
  • x_step
  • Y-RANGE
  • DIFFUSION
  • ATTACHMENT
  • lines
  • phi
  • bins
  • KEEP-HISTOGRAMS
  • KEEP-RESULTS
  • loops
  • order
  • dsname
  • member
  • remark
  • plot_options
  • print_options

  • CLUSTERING-HISTOGRAMS

      Makes a set of histograms that show some aspects of the cluster
      statistics:
    
      - distance between electrons and track
      - number of clusters on the track
      - number of electrons on the track
      - energy in each cluster (if available)
      - total energy loss over the track (if available)
    
      These histograms are of use mainly if Heed is used to generate
      tracks. Keep the following in mind in this respect:
    
      - Heed, internally, doesn't have a concept of clusters. Most
        electrons that are deposited in the gas stem from "virtual
        gammas" which ionise a gas molecule by liberating electrons
        that may (delta electrons) or may not have enough energy to
        ionise further gas molecules.
    
        When you use the NODELTA-ELECTRONS option of TRACK, then all
        electrons that stem from a single virtual photon are placed
        at the location where the virtual photon was absorbed, thus
        creating a cluster. Such a cluster will usually be located
        very close to the track. With this option, the cluster size
        distribution is of interest, but the distance between track
        and electrons is meaningless.
    
        When you use the DELTA-ELECTRON option of TRACK, the electrons
        generated by Heed are each considered a cluster, of size 1.
        The electrons will usually be located further from the track
        than the virtual photons. With this option, the cluster size
        distribution is of no interest, while the distribution between
        track and electrons reflects the range of delta electrons.
    
      - When using the MULTIPLE-SCATTERING option of TRACK, which is
        not default, then the distance between electrons and track is
        measured with respect to the average trajectory, i.e. the
        trajectory of the particle if there were no multiple scattering.
    
      Format:
    
      CLUSTERING-HISTOGRAMS ...
           [ITERATIONS  iter] ...
           [BINS  bins] ...
           [CLUSTER-SIZE-BINS  bins] ...
                [CLUSTER-SIZE-RANGE  {AUTOMATIC | min max}] ...
           [CLUSTER-COUNT-BINS  bins] ...
                [CLUSTER-COUNT-RANGE  {AUTOMATIC | min max}] ...
           [CLUSTER-ENERGY-BINS  bins] ...
                [CLUSTER-ENERGY-RANGE  {AUTOMATIC | min max}] ...
           [DELTA-RANGE-BINS  bins] ...
                [DELTA-RANGE-RANGE  {AUTOMATIC | min max}] ...
           [TRACK-RANGE-BINS  bins] ...
                [TRACK-RANGE-RANGE  {AUTOMATIC | min max}] ...
           [ENERGY-LOSS-BINS  bins] ...
                [ENERGY-LOSS-RANGE  {AUTOMATIC | min max}] ...
           [NOKEEP-HISTOGRAMS | KEEP-HISTOGRAMS] ...
           [PLOT-HISTOGRAMS | NOPLOT-HISTOGRAMS]
    

    Additional Information on:

  • iter
  • bins
  • range
  • KEEP-HISTOGRAMS
  • PLOT-HISTOGRAMS

  • DRIFT

      This instruction makes plots of electron and ion drift lines and
      can also plot isochrones.
    
      The main choice is between the 4 possible starting points: the edges
      of the AREA, the surface of the SELECTed wires, the TRACK and the
      ZEROs of the electrostatic field. Each has a set of sub-options that
      should follow the EDGE, WIRE, TRACK or ZERO keyword.
    
      The other options should be placed at the end of the line.
    
      Format:
    
      DRIFT {EDGE  [LEFT | NOTLEFT] ...
                   [RIGHT | NOTRIGHT] ...
                   [UP | NOTUP] ...
                   [DOWN | NOTDOWN] ...
                   [LINES lines]                                    | ...
             TRACK [NOTIME-GRAPH | TIME-GRAPH] ...
                   [NOVELOCITY-GRAPH | VELOCITY-GRAPH] ...
                   [NODIFFUSION-GRAPH | DIFFUSION|GRAPH] ...
                   [NOAVALANCHE-GRAPH | AVALANCHE-GRAPH] ...
                   [NOFUNCTION-GRAPH | FUNCTION-GRAPH function] ...
                   [MARKER | SOLID]                                 | ...
             WIRE  [LINES lines]                                    | ...
             ZEROS                                                  } ...
             [RUNGE-KUTTA-DRIFT | MONTE-CARLO-DRIFT] ...
             [NOISOCHRONES | ISOCHRONESdelta_t] ...
             [LINE-PLOT | NOLINE-PLOT] ...
             [NOLINE-PRINT | LINE-PRINT] ...
             [ELECTRON | ION] ...
             [NEGATIVE | POSITIVE]
    
      If you don't manage to fit all this on one line, remember you are
      allowed to abbreviate. A line that ends on an ellipsis continues
      on the next line.
    
      Examples:
    
      DRIFT WIRE LINES=25 ISOCHRONES 0.1 NOL-PL
      DRIFT TRACK FUNCTION-GRAPH TIME+5*DIFFUSION NOL-PL L-PR
      DRIFT ZEROS
    
      (The first example will plot only a set of isochrones computed
      using 25 drift lines from each of the selected wires. The second
      example prints a table of drift times etc. and plots the drift
      time plus five times the diffusion. The last example shows
      the acceptance boundaries.)
    

    Additional Information on:

  • EDGE
  • WIRE
  • TRACK
  • ZEROS
  • MONTE-CARLO-DRIFT
  • ISOCHRONES
  • LINE-PLOT
  • LINE-PRINT
  • ELECTRON
  • ION
  • POSITIVE
  • NEGATIVE

  • GRAPHICS-INPUT

      Enters a graphics menu driven mini drift section. The edges of the
      AREA and the TRACK can very easily be changed by simply pointing to
      them. Typical calculations include a single drift line from a point
      indicated on the screen, drift lines from the TRACK and drift lines
      from a wire (and its periodic repetitions) selected on the screen.
    
      You have some control over the graphics input mode with the options
      listed below.
    
      Format:
    
      GRAPHICS-INPUT [CHOICE-PET chpet] [LOCATOR-PET locpet1 locpet2] ...
                     [PICK-PET pickpet] [VALUATOR-PET valpet] ...
                     [CHOICE-DEVICE chdev] [LOCATOR-DEVICE locdev] ...
                     [PICK-DEVICE pickdev] [VALUATOR-DEVICE valdev] ...
                     [WORK-STATION wkid]
    
      Example:
    
      GRA LOC-PET 1 4
    
      Chooses rubber band for the second point.
    

    Additional Information on:

  • prompt_echo
  • device
  • WORK-STATION

  • GRID

      Chooses the x (or r) and y (or phi) density of the grid inside the
      AREA from which the TABLE instruction will calculate drift lines.
    
      The second arguments may be omitted in which case the first value
      will be used for both the x (or r) and the y (or phi) spacing.
    
      Format:
    
      GRID  number_of_steps_in_x  [number_of_steps_in_y]
    
      Example:
    
      GRID 10 20
    

    INTEGRATION-PARAMETERS

      Enables one to change the following:
    
      - the drift line integration accuracy;
      - the step size for Monte Carlo drifting;
      - the distance from a wire where a electron or ion is
        considered to be caught by the wire;
      - the distance at which the integration algorithm for
        transverse + longitudinal diffusion projects the cloud
        radially onto the wire;
      - the method by which the cloud is projected into the wire;
      - the maximum stack depth and the relative accuracy of the
        integration of the diffusion coefficient, the Townsend
        coefficient and the attachment coefficient;
      - conditions under which isochrone segments are joined;
      - appearance of isochrones.
    
      These parameters are used both in this section and in the
      signal section.
    
      Format:
    
      INTEGRATION-PARAMETERS ...
           [INTEGRATION-ACCURACY accuracy] ...
           [ MONTE-CARLO-TIME-INTERVAL tstep | ...
             MONTE-CARLO-DISTANCE-INTERVAL dstep | ...
             MONTE-CARLO-COLLISIONS nstep] ...
           [ CHECK-ATTRACTING-WIRES | ...
             CHECK-ALL-WIRES] ...
           [ REJECT-KINKS | ...
             NOREJECT-KINKS] ...
           [TRAP-RADIUS ntrap] ...
           [CLOUD-PROJECTION-DISTANCE ncloud] ...
           [CLOUD-PROJECTION-METHOD method] ...
           [DIFFUSION-ACCURACY eps_diff] ...
           [TOWNSEND-ACCURACY eps_Town] ...
           [ATTACHMENT-ACCURACY eps_att] ...
           [DIFFUSION-STACK-DEPTH stack_diff] ...
           [TOWNSEND-STACK-DEPTH stack_Town] ...
           [ATTACHMENT-STACK-DEPTH stack_att] ...
           [ DRAW-ISOCHRONES | ...
             MARK-ISOCHRONES] ...
           [ SORT-ISOCHRONES | ...
             NOSORT-ISOCHRONES] ...
           [ ISOCHRONE-CONNECTION-THRESHOLD iso_thr | ...
             NOISOCHRONE-CONNECTION-THRESHOLD] ...
           [ISOCHRONE-ASPECT-RATIO-SWITCH iso_aspect] ...
           [ISOCHRONE-LOOP-THRESHOLD iso_loop] ...
           [ CHECK-ISOCHRONE-CROSSINGS | ...
             NOCHECK-ISOCHRONE-CROSSINGS]
    
      Example:
    
      INT DIFF-ST 5, DIFF-ACC 1.0E-3
    
      Will limit the number of subdivisions to 32 per drift line step
      (the default is usually 2**20) and asks for a relative precision
      per step of one permille.
    

    Additional Information on:

  • accuracy
  • step
  • ntrap
  • CHECK-ALL-WIRES
  • CHECK-ATTRACTING-WIRES
  • REJECT-KINKS
  • ncloud
  • method
  • eps
  • stack
  • DRAW-ISOCHRONES
  • MARK-ISOCHRONES
  • SORT-ISOCHRONES
  • ISOCHRONE-CONNECTION-THRESHOLD
  • ISOCHRONE-ASPECT-RATIO-SWITCH
  • ISOCHRONE-LOOP-THRESHOLD
  • CHECK-ISOCHRONE-CROSSINGS

  • LINES

      Sets the default number of drift lines for a couple of commands
      such as track preparation. The parameter also governs in part the
      accuracy of the x(t) calculation in sets the number of drift lines
      used for the initial crude search for the optimal point in y for
      each x.
    
      Please note that LINES has no effect anymore on the DRIFT command.
      For DRIFT TRACK, use the TRACK command itself to set the number of
      lines. For DRIFT WIRE and DRIFT EDGE, use the LINES option of the
      DRIFT command.
    
      Format:
    
      LINES lines
    
      Example:
    
      LINES 50
    

    LORENTZ-ANGLE

      Prints the Lorentz-angle, i.e. the angle between the drift vector
      and the electric field, at the point (x,y,z).
    
      Format:
    
      LORENTZ-ANGLE x y z
    
      Example:
    
      LORENTZ 0.5 0.5 1
    

    MINIMISE

      Searches for the minimum of e.g. the drift time over a curve.
    
      Format:
    
      MINIMISE f_min  [SELECTION-FUNCTION f_select] ...
               ON f_curve   RANGE t_min t_max   N n ...
               [ELECTRON | ION]   [NEGATIVE | POSITIVE] ...
               [FUNCTION-PRECISION eps_f] ...
               [POSITIONAL-RESOLUTION eps_pos] ...
               [ITERATE-LIMIT itermax] ...
               [PRINT | NOPRINT] ...
               [DATASET dataset [member] [REMARK remark]]
    
      Example:
    
      MINIMISE TIME ON '5*COS(T), 5*SIN(T)' RANGE {PI/4,3*PI/4}
    
      This instruction asks for a minimisation of the drift time over
      an arc with radius 5 and in the angular range pi/4 to 3 pi/4.
      Note that quotes are used to specify the curve: a comma has to
      be placed between the two coordinates, but since the comma is a
      separator and since ON expects only one element, the expression
      is placed in quotes. RANGE on the other hand expects two elements
      and quotes should therefore not be used !
    

    Additional Information on:

  • f_min
  • SELECTION-FUNCTION
  • ON
  • RANGE
  • N
  • ELECTRON
  • ION
  • POSITIVE
  • NEGATIVE
  • FUNCTION-PRECISION
  • POSITIONAL-RESOLUTION
  • ITERATE-LIMIT
  • PRINT
  • DATASET

  • OPTIONS

      Determines whether the drift lines produced by other commands
      than the DRIFT instruction are plotted or printed. Commands
      affected by these options include ARRIVAL, PREPARE-TRACK etc.
    
      Format:
    
      OPTIONS  [DRIFT-PRINT | NODRIFT-PRINT] ...
               [DRIFT-PLOT | NO-DRIFT-PLOT] ...
               [KEY | NOKEY] ...
               [CONTOUR-ALL-MEDIA | CONTOUR-DRIFT-MEDIUM]
    
      Example:
    
      OPT DR-PL NODR-PR
    

    Additional Information on:

  • DRIFT-PRINT
  • DRIFT-PLOT
  • KEY
  • CONTOUR-ALL-MEDIA
  • CONTOUR-DRIFT-MEDIUM

  • PLOT-FIELD

      This instruction plots the quantities related to drifting of
      electrons and ions in a variety of ways, such as contours, a
      surface plot, a graph, a histogram.
    
      Similar instructions exist in the field and signal sections.
      Please note that the parameter V has a different meaning in
      the field section (where stands for the potential) than in
      the drift section (where it stands for the electron velocity).
    
      CPU time can be saved if several plots are combined in a single
      command.
    
      Format:
    
      PLOT-FIELD [CONTOUR [f1]   [RANGE {cmin cmax | AUTOMATIC}] ...
                                 [N n] ...
                                 [LABELS | NOLABELS]] ...
                 [GRAPH [f2]     [ON f_curve] ...
                                 [N n]] ...
                                 [SCALE min max] ...
                                 [NOPRINT | PRINT] ...
                 [HISTOGRAM [f3] [RANGE {hmin hmax | AUTOMATIC}] ...
                                 [BINS nbin]] ...
                 [SURFACE [f4]   [ANGLES phi theta]] ...
                 [VECTOR [f5 f6]] ...
                 [ELECTRON | ION] ...
                 [POSITIVE | NEGATIVE]
    
      If you don't manage to fit all this on a single line, remember
      that lines that end on an ellipsis are continued on the next.
    
      Examples:
    
      PLOT HIST DIFFUSION VECTOR VDX, VDY SURF CONT
      PLOT CONTOUR TIME RANGE 0.1 0.3
    
      (The first example makes most of the plots using default functions
      and ranges - useful as a first call. The second example makes a more
      detailed contour plot.)
    

    Additional Information on:

  • functions
  • contour
  • graph
  • histogram
  • surface
  • vector
  • ELECTRON
  • ION
  • POSITIVE
  • NEGATIVE

  • PREPARE-TRACK

      Calculates and stores the relevant drift line information for regularly
      spaced points on the track. This data can optionally be used in the
      actual signal simulation so as to save CPU time. The difference in speed
      can be dramatic if the simulation is repeated many times. The loss in
      accuracy is usually negligible. The track thus prepared, can be saved
      in a dataset from where it can be retrieved in subsequent runs.
    
      Format:
    
      PREPARE-TRACK ...
           [ATTACHMENT-COEFFICIENT | NOATTACHMENT-COEFFICIENT] ...
           [DIFFUSION-COEFFICIENT | NODIFFUSION-COEFFICIENT] ...
           [TOWNSEND-COEFFICIENT | NOTOWNSEND-COEFFICIENT] ...
           [LINES n]
    
      Example:
    
      PREP-TR
    
      (Accept all defaults, usually adequate.)
    

    Additional Information on:

  • ATTACHMENT-COEFFICIENT
  • DIFFUSION-COEFFICIENT
  • TOWNSEND-COEFFICIENT
  • LINES

  • SELECT

      Selects and groups the sense-wires. The grouping is of no importance
      in this section. The selection determines which wires are used by
      DRIFT WIRE and XT-PLOT. The argument string consists of wire-codes
      and/or wire-numbers.
    
      Format:
    
      SELECT wire_selection
    
      Example:
    
      SEL (1 S) 2 F
    
      (Put wire 1 together with all S wires in one group, make wire 2
      a group of its own and do the same for each of the F wires.)
    

    SINGLE

      An instruction that will print and plot details about a single
      drift line from (x,y). The information can be presented as a table
      of the position, the integrated drift time and a user specified
      function, but also as a graph of one function against another.
    
      Format:
    
      SINGLE  FROM  x y ...
              [PLOT f1 VS f2 | NOPLOT] ...
              [PRINT f3 | NOPRINT] ...
              [NEGATIVE | POSITIVE] ...
              [ELECTRON | ION]
    
      Examples:
    
      SINGLE FROM 0.5 0.3 PLOT DIFFUSION VS PATH
      SINGLE FROM 0.1 0.2 PRINT VDX
    

    Additional Information on:

  • functions
  • PRINT
  • PLOT
  • ELECTRON
  • ION
  • POSITIVE
  • NEGATIVE

  • SPEED

      A debugging instruction that will evaluate the drift speed at a given
      point (x,y,z). The POSITIVE or NEGATIVE keyword should, if used, be
      last on the line.
    
      Format:
    
      SPEED x y z [ELECTRON|ION] [NEGATIVE|POSITIVE]
    
      Example:
    
      SPEED 0.5 1.5 0
    

    TABLE

      Prints a table of drift times for electrons or ions starting from
      GRID by GRID regularly spaced points inside the AREA. This command
      is highly CPU time consuming. The POSITIVE or NEGATIVE keyword
      should, if used, be last on the line.
    
      Format:
    
      TABLE [TABLE | NOTABLE] ...
            [NOCONTOUR | CONTOUR] ...
            [ELECTRON | ION] ...
            [NEGATIVE | POSITIVE]
    
      This command must be entered on a single line !
    
      Example:
    
      TABLE
    
      (Only produce the table, no contours.)
    

    Additional Information on:

  • TABLE
  • CONTOUR

  • TIME

      Times n drift line calculations [default: 10].
    
      Format:
    
      TIME [n]
    
      Example:
    
      TIME 5
    

    TIMING

      Computes the arrival time distribution of the n'th electron
      over a given area. Unlike the ARRIVAL instruction, TIMING does
      not produce calibration curves, but merely timing distributions.
    
      This instruction overwrites the geometrical part of the data
      entered with TRACK, but uses the clustering type entered via
      the TRACK statement.
    
      Format:
    
      TIMING [ELECTRONS {electron | LAST | ONE-BUT-LAST | ... }] ...
             [TIME-WINDOW tmin tmax ] ...
             [X-RANGE xmin xmax] [Y-RANGE ymin ymax] ...
             [ANGLE-RANGE phimin phimax] ...
             [BINS bins] ...
             [ITERATIONS loops] ...
             [RUNGE-KUTTA-DRIFT | MONTE-CARLO-DRIFT] ...
             [NOATTACHMENT | ATTACHMENT] ...
             [WEIGHTING-FUNCTION weight] ...
             [NOKEEP-HISTOGRAMS | KEEP-HISTOGRAMS] ...
             [NOPLOT-OVERALL | PLOT-OVERALL] ...
             [NOPLOT-SELECTED-ELECTRON | PLOT-SELECTED-ELECTRON] ...
             [NOPRINT-OVERALL | PRINT-OVERALL] ...
             [NOPRINT-SELECTED-ELECTRON | PRINT-SELECTED-ELECTRON]
    
      If you don't manage to fit all this on a single line, remember
      that lines that end on an ellipsis are continued on the next.
    
      The PROGRESS-PRINT global option enables you to follow the
      progress of the computations.
    
      Example:
    
      TRACK MUON ENERGY 20 GeV
      TIMING ELECTRON 3 LAST Y-RANGE -0.3 +0.3
    
      Computes the arrival time distribution of the 3rd and the last
      electron for random vertical Heed-generated tracks of 20 GeV
      muons in the y range [-0.3, +0.3]. The x-range is default, i.e.
      the x-portion of the AREA.
    

    Additional Information on:

  • electron
  • TIME-WINDOW
  • X-RANGE
  • Y-RANGE
  • ANGLE-RANGE
  • MONTE-CARLO-DRIFT
  • ATTACHMENT
  • WEIGHTING-FUNCTION
  • bins
  • KEEP-HISTOGRAMS
  • loops
  • plot_options
  • print_options

  • TRACK

      Defines the track used by the DRIFT TRACK, TIMING, SIGNAL and
      various other instructions. A track in this context should be
      understood as the trajectory of a particle through the chamber.
    
      Tracks have two main aspects which also determine the format
      of the command:
    
      * location of the track:
        - For high energy particles, and sometimes also for graphical
          purposes, this would simply be a start and an end point.
        - Lower energy particles undergo multiple scattering and may
          also be stopped in the gas. It is therefore more appropriate
          to describe these by a starting point and an initial direction.
          If an end-point is specified when not appropriate, then it is
          used to compute the initial direction.
        - One may also, for some applications, request a point-track,
          i.e. a track of which start and end point coincide. This can
          sometimes be used as a poor approximation of a photon.
    
      * interaction with the gas: various models are proposed to describe
        the interactions of the particle with the gas:
        - FIXED-NUMBER: deposition of an electron or ion at regularly
          spaced intervals. This model has no physical meaning, but can
          be used to obtain a graphical representation of the drift
          field in the chamber.
        - EQUAL-SPACING: deposition of the mean number of clusters as
          specified in the gas section, at regularly spaced points along
          the track. The model has no physical meaning, but can be used
          to estimate the impact of cluster interval fluctuations.
        - EXPONENTIAL-SPACING: deposition of clusters of electrons at
          random locations along the track, respecting the information
          from the gas section. This model can be accurate, given good
          quality gas data.
        - WEIGHTED-DISTRIBUTION: deposition of an electron or ion over
          the track such that the positions are distributed according
          to a user specified function.
        - SINGLE-CLUSTER: a single cluster of electrons is generated
          per track at a random location along it. This model could be
          used as a rough approximation of a photon.
        - HEED: a simulation of the interactions between the particle
          and the gas using the Heed program.
        - further models can be added on request.
    
      Tracks are 3-dimensional objects. You may omit the z-component of
      the track, to indicate that the track is located in the (x,y) plane.
      However, multiple scattering may cause the track to leave this plane
      and delta electrons, Auger electrons and photons are generated
      irrespective of whether you specify a track located in the (x,y)
      plane or not.
    
      The model to be used is determined by the last keyword that is
      found on the line. If you set parameters for several models, then
      you can, to avoid ambiguity, type one of the keywords FIXED-NUMBER,
      EQUAL-SPACING etc at the end of the line. Otherwise, there is no
      need not type them since they are implied by the other keywords.
    
      Format:
    
      TRACK  [ x0 y0 | x0 y0 x1 y1 | ...
               x0 y0 z0 | x0 y0 z0 x1 y1 z1 | ...
               FROM x0 y0 [z0] | ...
               { TO x1 y1 [z1] | DIRECTION dx dy [dz] RANGE range } ] ...
             [ FIXED-NUMBER ]  ...
                  [ LINES nline ]                    | ...
             [ EQUAL-SPACING ]                       | ...
             [ EXPONENTIAL-SPACING ]                 | ...
             [ SINGLE-CLUSTER ]                      | ...
             [ WEIGHTED-DISTRIBUTION ] ...
                  [ WEIGHTING-FUNCTION  { f | weight vs coordinate } ] ...
                  [ SAMPLES nsample ]                | ...
             [ HEED ]
                  [ DELTA-ELECTRONS | NODELTA-ELECTRONS ] ...
                  [ TRACE-DELTA-ELECTRONS | NOTRACE-DELTA-ELECTRONS ] ...
                  [ MULTIPLE-SCATTERING | NOMULTIPLE-SCATTERING ] ...
                  [ particle | MASS mass ENERGY energy CHARGE charge ]
    
      Examples:
    
      TRACK * * * 5
    
      (Keep all old values except the y coordinate of the end point.)
    
      TRACK 1 1 1 2 2 2
    
      (Defines a track from (1,1,1) to (2,2,2).)
    
      TRACK FROM 1 1 1 DIRECTION 0 0 1 RANGE 5
      TRACK MU+ ENERGY 1000 LINES 10 MULTIPLE-SCATTERING NODELTA
      TRACK FIXED
      DRIFT TRACK
      TRACK HEED
      DRIFT TRACK
    
      (In a first TRACK statement, the location of the track is
      described. The length of the track projected onto the DIRECTION
      is limited to 5 cm. The second TRACK statement provides HEED
      with a description of the particle, indicates that multiple
      scattering should be taken into account, but not delta electrons.
      The same line changes the default number of deposits for the
      FIXED-NUMBER model to 10. The third TRACK statement selects the
      model to be used, a plot is made with this model, the model is
      then changed to HEED and another plot is produced.)
    

    Additional Information on:

  • FROM
  • TO
  • DIRECTION
  • RANGE
  • FIXED-NUMBER
  • EQUAL-SPACING
  • EXPONENTIAL-SPACING
  • WEIGHTED-DISTRIBUTION
  • SINGLE-CLUSTER
  • HEED

  • XT-PLOT

      Produces an x(t) plot: the relation between the position of a track
      and the drift time. This is a calibration curve used by the track
      reconstruction program.
    
      The XT-PLOT algorithm works as follows:
    
      1. From around the selected wires (see SELECT), a number of drift
         lines are computed (see LINES) drifting them backwards from the
         wire.
      2. The crossing points of these drift lines are determined with a
         series of lines at an angle to the y-axis (see the ANGLE parameter)
         and crossing the x-axis at regular intervals (see the X-RANGE
         and X-STEP parameters). The lines will be referred to as
         'minimisation lines'. For each of the crossing points, the drift
         time is interpolated on the drift line.
      3. On a subset (see the JUMP parameter) of the minimisation lines
         the 3 smallest drift times are kept, drift lines from the
         corresponding crossing points are computed to enhance the accuracy
         of the time estimate, and these 3 points are then used as start
         for a parabolic minimisation procedure with a limited number of
         iterations (see the ITERATIONS parameter) and which is declared
         to converge if the minimum drift time doesn't change much (see
         the EPSILON parameter).
      4. The results are printed (see the PRINT-XT-RELATION parameter),
         plotted (see the PLOT-XT-RELATION and SCALE parameters) and output
         to a dataset (see the DATASET parameter).
    
      Note that there is another instruction in Garfield, ARRIVAL, that
      serves approximately the same purpose. The differences between XT-PLOT
      and ARRIVAL are summarised in the table below. As can be seen from the
      table, ARRIVAL provides more detail than XT-PLOT, which in return is
      faster.
    
      -----------------------------------------------------------------------
      Aspect    ARRIVAL                        XT-PLOT
      -----------------------------------------------------------------------
      input     complete gas tables,           drift velocity and optionally
                clustering properties          diffusion and Lorentz angle
                (spacing, cluster size)        tables
      method    Monte Carlo generation of      parabolic minimisation of the
                tracks with clusters           drift time over lines
      included  drift velocity, Lorentz        drift velocity, Lorentz angle,
                angle, diffusion, attachment,  optionally also diffusion
                cluster spacing and size       over the fastest drift line
      output    mean, median and RMS of        minimum drift time, diffusion
                selected electrons             over the fastest drift line
      -----------------------------------------------------------------------
    
      Format:
    
      XT-PLOT [DATASET dsname [member] [REMARK remark] ...
              [ANGLE angle] ...
              [X-RANGE xmin xmax]  [X-STEP xstep]  [JUMP jump] ...
              [ITERATIONS {YES|NO|itermax}]  [PRECISION eps] ...
              [LEFT-ANGLE-RANGE lmin lmax]  [RIGHT-ANGLE-RANGE rmin rmax] ...
              [PRINT-XT-RELATION | NOPRINT-XT-RELATION] ...
              [PLOT-XT-RELATION | NOPLOT-XT-RELATION] ...
              [SCALE min max]
    
      Examples:
    
      XT-PLOT
      XT DATASET lib.dat xt1 PRECISION 1E-2
    
      (The second example will produce fairly quickly a crude x(t).)
    

    Additional Information on:

  • DATASET
  • dsname
  • member
  • remark
  • angle
  • xmin-xmax
  • xstep
  • jump
  • itermax
  • eps
  • angle_range
  • PRINT-XT-RELATION
  • PLOT-XT-RELATION
  • SCALE

  • WRITE-ISOCHRONES

      Use this command to write out the coordinates of the points used
      for the isochrones as a result of the last DRIFT command.
    
      This statement should be issued after the DRIFT command.
    
      Format:
    
      WRITE-ISOCHRONES DATASET dsname [member] [REMARK remark]
    
      Example:
    
      WR-ISO 'test data b'
    
      (Writes the isochrones to the VM/CMS dataset TEST DATA on the
      users B disk.)
    

    Additional Information on:

  • dsname
  • member
  • remark

  • WRITE-TRACK

      Writes the prepared track, see PREPARE-TRACK, right away to a dataset.
      It can later on be retrieved by GET-TRACK.
    
      This statememt should be issued after the PREPARE-TRACK command.
    
      Format:
    
      WRITE-TRACK DATASET dsname [member] [REMARK remark]
    
      Example:
    
      WR-TR 'disk$scratch:[pubzh.work.garfield]track.dat'
    

    Additional Information on:

  • dsname
  • member
  • remark

  • Keyword index. Formatted on 10/11/98.