+====================================================+
| 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