1996 Beam Pulse Record Map

        +====================================================+
        |  B E A M     P U L S E     D A T A    R E C O R D  |
        +====================================================+

   +-----------------+-----------------+-----------------+-----------------+
   | 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 |                 |                 |
   | F E D C B A 9 8 | 7 6 5 4 3 2 1 0 | F E D C B A 9 8 | 7 6 5 4 3 2 1 0 |
   +-----------------+-----------------+-----------------+-----------------+

   +--+-----+--------------------------+-----------------+-----------------+
   |In| H V |  Luminosity Monitor      | S L D   V e t o | S L C   B e a m |
   +--+-----+--------------------------+-----------------+-----------------+
 0 | S|S N C|. . . . . . . . . . . . . | W W W W D C H E | W K B P P P M M |
   | S E E D|. . C L I V E . . . . . . | i i i i c . . . | S V e h L L L L |
   | V|D D C|. . . . . . . . . . . . . | c c c c B O O O | c M a a S S S S |
   | .|C C .|. . . . F I E L D ' s . . | S S N N s v v v | a . m s R L R L |
   | .|. . .|. . . . . . . . . . (12). | O I O I y r r r | n . . e . . . . |
   +--+-----+--------------------------+----------------+-----------------+

   +-----------------+-----------------------------------------------------+
   |  Beamstralung   |        T  O  R  I  O  D  S                          |
   |                 +-----------------------+-----------------------------+
 1 |  South (8)      |   Positron  (12)      |      Electron (12)          |
   +-----------------+-----------------------+-----------------------------+

   +-----------------------------------------------------------------------+
   |        W I D T H      <===    W I S R D  ===>     E N E R G Y         |
   +-----------------+-----------------+-----------------+-----------------+
 2 |   Positron  (8) |   Electron (8)  |  Positron (8)   |    Electron (8) |
   +-----------------+-----------------+-----------------+-----------------+

   +-----------------------------------------------------------------------+
   |        N O I S E    B Y T E S                                         |
   +-----------------+-----------------+-----------------+-----------------+
 3 |     S L u m     |   N L u m       |      K a l      |    C D C        |
   +-----------------+-----------------+-----------------+-----------------+

   +-----------------------------------------------------------------------+
   |        P O L A R I Z A T I O N   I N F O R M A T I O N                |
   +--------------------------+---------------------+----------------------+
 4 |  R B C  (12 bits)        |  P O L 9 (10 bits)  |  P O L 4 (10 bits)   |
   +--------------------------+---------------------+----------------------+

   +-----------------------------------------------------------------------+
   |        S L O T             S T A T E           V E C T O R            |
   +-----------------+-----------------+-----------------+-----------------+
 5 |     T a u       |   T r a c k     |   H a d r o n   |  E n e r g y    |
   +-----------------+-----------------+-----------------+-----------------+
 6 | W m t  O u t e r| W m t  I n n e r|   B h a b h a   |      W a b      |
   +-----------------+-----------------+-----------------+-----------------+
 7 |       K v m     | B h a b h a Mon |   R a n d o m   |      C l u      |
   +-----------------+-----------------+-----------------+-----------------+

*/

/*
|  Polarizations consist of a 2 bit wide field.  The meanings of the
|  values (0-3) are as follows:
*/
#define  BPR$K_POL_ZERO  0x0       /* Zero  polarization                */
#define  BPR$K_POL_RIGHT 0x1       /* Right polarization                */
#define  BPR$K_POL_LEFT  0x2       /* Left  polarization                */
#define  BPR$K_POL_ERROR 0x3       /* Error ......                      */


/* -------------------- SLC BEAM INFORMATION BYTE --------------------- */
#define  BPR$V_SLC         0x00
#define  BPR$V_SLC_POL     0x00     /* Polarization bits                 */

/* .................... for Source  Pockels Cell (MACH) ............... */
#define  BPR$V_SLC_MLS     0x00     /* Source  Pockels Cell field        */

/* .................... for Source  Pockels Cell (PMON) ............... */
#define  BPR$V_SLC_PLS     0x02     /* Source  Pockels Cell field        */

/* .................... for SLC PDU,KVM bits     ...................... */
#define  BPR$V_SLC_PHASE   0x04     /* Beam phase (which 60 Hz cycle)    */
#define  BPR$V_SLC_BEAM    0x05     /* SLC PDU intent to deliver beam    */
#define  BPR$V_SLC_KVM     0x06     /* Klystron Veto Module (bits or'd)  */
#define  BPR$V_SLC_SCAN    0x07     /* Beam-Beam deflection scan going on*/


#define  BPR$S_SLC         0x08     /* Size of SLC Beam byte             */
#define  BPR$S_SLC_POL     0x04     /* Size of POL info (PLS+MLS)        */
#define  BPR$S_SLC_MLS     0x02     /* Size of MLS info                  */
#define  BPR$S_SLC_PLS     0x02     /* Size of PLS info                  */
#define  BPR$S_SLC_PHASE   0x01     /* SLC PDU intent to deliver beam    */
#define  BPR$S_SLC_BEAM    0x01     /* SLC PDU intent to deliver beam    */
#define  BPR$S_SLC_KVM     0x01     /* Klystron Veto Module (bits or'd)  */
#define  BPR$S_SLC_SCAN    0x01     /* Beam-Beam deflection scan going on*/


#define  BPR$N_SLC        ((unsigned)  ((1 << BPR$S_SLC      ) - 1))
#define  BPR$N_SLC_POL    ((unsigned)  ((1 << BPR$S_SLC_POL  ) - 1))
#define  BPR$N_SLC_MLS    ((unsigned)  ((1 << BPR$S_SLC_MLS  ) - 1))
#define  BPR$N_SLC_PLS    ((unsigned)  ((1 << BPR$S_SLC_PLS  ) - 1))
#define  BPR$N_SLC_PHASE  ((unsigned)  ((1 << BPR$S_SLC_PHASE) - 1))
#define  BPR$N_SLC_BEAM   ((unsigned)  ((1 << BPR$S_SLC_BEAM ) - 1))
#define  BPR$N_SLC_KVM    ((unsigned)  ((1 << BPR$S_SLC_KVM  ) - 1))
#define  BPR$N_SLC_SCAN   ((unsigned)  ((1 << BPR$S_SLC_SCAN ) - 1))


#define  BPR$M_SLC         (BPR$N_SLC       << BPR$V_SLC)
#define  BPR$M_SLC_POL     (BPR$N_SLC_POL   << BPR$V_SLC_POL)

/* .................... for Compton Pockels Cell (MACH)................ */
#define  BPR$M_SLC_MLS     (BPR$N_SLC_MLS  << BPR$V_SLC_MLS)

/* .................... for Source  Pockels Cell (PMON)................ */
#define  BPR$M_SLC_PLS     (BPR$N_SLC_PLS << BPR$V_SLC_PLS)

/* .................... for SLC PDU,KVM,SCAN bits  .................... */
#define  BPR$M_SLC_PHASE   (BPR$N_SLC_PHASE << BPR$V_SLC_PHASE)
#define  BPR$M_SLC_BEAM    (BPR$N_SLC_BEAM  << BPR$V_SLC_BEAM)
#define  BPR$M_SLC_KVM     (BPR$N_SLC_KVM   << BPR$V_SLC_KVM)
#define  BPR$M_SLC_SCAN    (BPR$N_SLC_SCAN  << BPR$V_SLC_SCAN)


/* -------------------- SLD BEAM INFORMATION BYTE --------------------- */
#define  BPR$V_SLD         0x08
#define  BPR$V_SLD_EOVR    0x08     /* KAL Energy Overflow               */
#define  BPR$V_SLD_HOVR    0x09     /* KAL Hit    Overflow               */
#define  BPR$V_SLD_COVR    0x0A     /* DC  Cell   Overflow               */
#define  BPR$V_SLD_DCBSY   0x0B     /* DC  tracking trigger unavailable  */
#define  BPR$V_SLD_WICNI   0x0C     /* WIC North Inner Hit Overflow      */
#define  BPR$V_SLD_WICNO   0x0D     /* WIC North Outer Hit Overflow      */
#define  BPR$V_SLD_WICSI   0x0E     /* WIC South Inner Hit Overflow      */
#define  BPR$V_SLD_WICSO   0x0F     /* WIC South Outer Hit Overflow      */

/* Width of SLD byte        */
#define  BPR$S_SLD         0x08

/* Mask of SLD byte - right justified */
#define  BPR$N_SLD        ((1 << BPR$S_SLD) - 1)


/* Mask of SLD byte - left  justified */
#define  BPR$M_SLD        (BPR$N_SLD << BPR$V_SLD)
#define  BPR$M_SLD_EOVR   (0x01 << BPR$V_SLD_EOVR)
#define  BPR$M_SLD_HOVR   (0x01 << BPR$V_SLD_HOVR)
#define  BPR$M_SLD_COVR   (0x01 << BPR$V_SLD_COVR)
#define  BPR$M_SLD_DCBSY  (0x01 << BPR$V_SLD_DCBSY)
#define  BPR$M_SLD_WICNI  (0x01 << BPR$V_SLD_WICNI)
#define  BPR$M_SLD_WICNO  (0x01 << BPR$V_SLD_WICNO)
#define  BPR$M_SLD_WICSI  (0x01 << BPR$V_SLD_WICSI)
#define  BPR$M_SLD_WICSO  (0x01 << BPR$V_SLD_WICSO)
/* -------------------------------------------------------------------- */


/* --------------------    LUMINOSITY MONITOR    ---------------------- */
#define  BPR$V_LUMINOSITY   0x10     /* Clive Field Luminosity Monitor   */
#define  BPR$S_LUMINOSITY   0x0C
#define  BPR$N_LUMINOSITY   ((unsigned) ((1 << BPR$S_LUMINOSITY) - 1))
#define  BPR$M_LUMINOSITY   (BPR$N_LUMINOSITY << BPR$V_LUMINOSITY)
/* -------------------------------------------------------------------- */

/* -------------------- HIGH VOLTAGE/INVALIDATION --------------------- */
/* ...................... for drift chamber       ..................... */
#define  BPR$V_HIV         0x1C
#define  BPR$V_HIV_DC      0x1C     /* High Voltage Drift Chamber        */
#define  BPR$V_HIV_CDC     0x1C     /* High Voltage Drift Chamber Barrel */
#define  BPR$V_HIV_NEDC    0x1D     /* High Voltage Drift Chamber NEndCap*/
#define  BPR$V_HIV_SEDC    0x1E     /* High Voltage Drift Chamber SEndCap*/

/* Field sizes               */
#define  BPR$S_HIV         0x03
#define  BPR$S_HIV_DC      0x03
#define  BPR$S_HIV_CDC     0x01
#define  BPR$S_HIV_NEDC    0x01
#define  BPR$S_HIV_SEDC    0x01

/* Field masks - right justified */
#define  BPR$N_HIV         ((unsigned) ((1 << BPR$S_HIV     ) - 1))
#define  BPR$N_HIV_DC      ((unsigned) ((1 << BPR$S_HIV_DC  ) - 1))
#define  BPR$N_HIV_CDC     ((unsigned) ((1 << BPR$S_HIV_CDC ) - 1))
#define  BPR$N_HIV_NEDC    ((unsigned) ((1 << BPR$S_HIV_NEDC) - 1))
#define  BPR$N_HIV_SEDC    ((unsigned) ((1 << BPR$S_HIV_SEDC) - 1))

/* Field masks - left  justified */
#define  BPR$M_HIV        (BPR$N_HIV      << BPR$V_HIV     )
#define  BPR$M_HIV_DC     (BPR$N_HIV_DC   << BPR$V_HIV_DC  )
#define  BPR$M_HIV_CDC    (BPR$N_HIV_CDC  << BPR$V_HIV_CDC )
#define  BPR$M_HIV_NEDC   (BPR$N_HIV_NEDC << BPR$V_HIV_NEDC)
#define  BPR$M_HIV_SEDC   (BPR$N_HIV_SEDC << BPR$V_HIV_SEDC)


/* ...................... invalid information bits..................... */
#define  BPR$V_INV_SSV     0x1F     /* Invalid information Slot State Vec*/
#define  BPR$S_INV_SSV     0x01
#define  BPR$N_INV_SSV    ((unsigned) ((BPR$S_INV_SSV << 1) - 1))
#define  BPR$M_INV_SSV    ((BPR$N_INV_SSV << BPR$V_INV_SSV)


/* ----------------------  TOROID / BEAMSTRAHLUNG ----------------------*/
#define  BPR$V_TOROID_EM  0x00
#define  BPR$V_TOROID_EP  0x0C
#define  BPR$V_BSM_SOUTH  0x18

#define  BPR$S_TOROID_EM  0x0C
#define  BPR$S_TOROID_EP  0x0C
#define  BPR$S_BSM_SOUTH  0x08

#define  BPR$N_TOROID_EM  ((unsigned) ((1 << BPR$S_TOROID_EM)-1))
#define  BPR$N_TOROID_EP  ((unsigned) ((1 << BPR$S_TOROID_EP)-1))
#define  BPR$N_BSM_SOUTH  ((1 << BPR$S_BSM_SOUTH)-1)

#define  BPR$M_TOROID_EM  ((unsigned) 0xfff << BPR$V_TOROID_EM)
#define  BPR$M_TOROID_EP  ((unsigned) 0xfff << BPR$V_TOROID_EP)
#define  BPR$M_BSM_SOUTH  ((unsigned) 0xff  << BPR$V_BSM_SOUTH)


/* ---------------------  WISRD ENERGY & WIDTH  ----------------------- */
#define  BPR$V_ENERGY_EM  0x00
#define  BPR$V_ENERGY_EP  0x08
#define  BPR$V_WIDTH_EM   0x10
#define  BPR$V_WIDTH_EP   0x18

#define  BPR$S_ENERGY_EM  0x08
#define  BPR$S_ENERGY_EP  0x08
#define  BPR$S_WIDTH_EM   0x08
#define  BPR$S_WIDTH_EP   0x08

#define  BPR$N_ENERGY_EM  ((unsigned) ((1<<BPR$S_ENERGY_EM)-1))
#define  BPR$N_ENERGY_EP  ((unsigned) ((1<<BPR$S_ENERGY_EP)-1))
#define  BPR$N_WIDTH_EM   ((unsigned) ((1<<BPR$S_WIDTH_EM)-1))
#define  BPR$N_WIDTH_EP   ((unsigned) ((1<<BPR$S_WIDTH_EP)-1))

#define  BPR$M_ENERGY_EM  (BPR$N_ENERGY_EM << BPR$V_ENERGY_EM)
#define  BPR$M_ENERGY_EP  (BPR$N_ENERGY_EP << BPR$V_ENERGY_EP)
#define  BPR$M_WIDTH_EM   (BPR$N_WIDTH_EM  << BPR$V_WIDTH_EM)
#define  BPR$M_WIDTH_EP   (BPR$N_WIDTH_EP  << BPR$V_WIDTH_EP)

/* ------------------------- NOISE WORD --------------------------  */
#define    BPR$V_NOISE_CDC  0x00    /* CDC cell hit count            */
#define    BPR$V_NOISE_KAL  0x08    /* KAL energy                    */
#define    BPR$V_NOISE_NLUM 0x10    /* North LUM Energy              */
#define    BPR$V_NOISE_SLUM 0x18    /* South LUM Energy              */




/*
| POLARIZATION WORD
*/                                 /* Offsets from the right   */
#define    BPR$V_POL_CHN4  0x00     /* Polarimeter channel 4    */
#define    BPR$V_POL_CHN9  0x0a     /* Polarimeter channel 9    */
#define    BPR$V_POL_RBC   0x14     /* Radiative Bhabha Counter */

/* Field widths              */
#define    BPR$S_POL_CHN4  0x0a
#define    BPR$S_POL_CHN9  0x0a
#define    BPR$S_POL_RBC   0x0c

/* Right justified masks   */
#define    BPR$N_POL_CHN4 ((unsigned) ((1<<BPR$S_POL_CHN4)-1))
#define    BPR$N_POL_CHN9 ((unsigned) ((1<<BPR$S_POL_CHN9)-1))
#define    BPR$N_POL_RBC  ((unsigned) ((1<<BPR$S_POL_RBC )-1))

/* Left justified masks    */
#define    BPR$M_POL_CHN4 (BPR$N_POL_CHN4 << BPR$V_POL_CHN4)
#define    BPR$M_POL_CHN9 (BPR$N_POL_CHN9 << BPR$V_POL_CHN9)
#define    BPR$M_POL_RBC  (BPR$N_POL_RBC  << BPR$V_POL_RBC )

/* ------------------------- Slot State Byte -------------------- */

/*
 | Bit definitions for ssb bytes.
 | Only EVAL is a 2-bit field.
 | Others are a single bit.
 */
#define    BPR$V_SSB_EVAL    0
#define    BPR$V_SSB_DSRM    2
#define    BPR$V_SSB_DSBLD   3
#define    BPR$V_SSB_BUSY    4
#define    BPR$V_SSB_VETO    5
#define    BPR$V_SSB_INHB    6

#define    BPR$M_SSB_EVAL    (3 << BPR$V_SSB_EVAL)
#define    BPR$M_SSB_DSRM    (1 << BPR$V_SSB_DSRM)
#define    BPR$M_SSB_DSBLD   (1 << BPR$V_SSB_DSBLD)
#define    BPR$M_SSB_BUSY    (1 << BPR$V_SSB_BUSY)
#define    BPR$M_SSB_VETO    (1 << BPR$V_SSB_VETO)
#define    BPR$M_SSB_INHB    (1 << BPR$V_SSB_INHB)

/* If SSB = BPR$K_SSB_INVLD, then information for this byte is invalid */
#define    BPR$K_SSB_INVLD   0xff

/*
| The last SSB is used to store selected bits from the KVM word
| These definitions map out the bits within this byte.
*/
#define    BPR$V_KVM_NDR    0x00    /* E- damping ring               */
#define    BPR$V_KVM_SDR    0x01    /* E+ damping ring               */
#define    BPR$V_KVM_LI10   0x02    /* Sectors  2 - 10               */
#define    BPR$V_KVM_LI19   0x03    /* Sectors 11 - 19               */
#define    BPR$V_KVM_LI30   0x04    /* Sectors 20 - 30               */
#define    BPR$V_KVM_NSBD   0x05    /* North single beam dumper      */
#define    BPR$V_KVM_SSBD   0x06    /* South single beam dumper      */
#define    BPR$V_KVM_DRL0   0x07    /* Low threshold in damping ring */

#define    BPR$M_KVM_NDR   (1 << BPR$V_KVM_NDR )
#define    BPR$M_KVM_SDR   (1 << BPR$V_KVM_SDR )
#define    BPR$M_KVM_LI10  (1 << BPR$V_KVM_LI10)
#define    BPR$M_KVM_LI19  (1 << BPR$V_KVM_LI19)
#define    BPR$M_KVM_LI30  (1 << BPR$V_KVM_LI30)
#define    BPR$M_KVM_NSBD  (1 << BPR$V_KVM_NSBD)
#define    BPR$M_KVM_SSBD  (1 << BPR$V_KVM_SSBD)
#define    BPR$M_KVM_DRL0  (1 << BPR$V_KVM_DRL0)

The above text was taken from the online include file


Joseph Perl
29 January 1996