tevcol_h
/*
** Copyright 1999, Universities Research Association. All rights reserved.
**++
** FACILITY:
**
** Open Access Client (OAC): tevcol.h
**
** Open Access Servers include Open Access Front-end (OAF) and
** Open Access Model (OAM). These servers dispatch Retdat/Setdat
** requests to their clients, or contributors, call Open Access
** Clients (OAC).
**
** ABSTRACT:
**
** oac_tevcol client allows control (and synthetic devices) for Tevatron
** collimators. This header contains common definitions.
**
** MODIFICATION HISTORY:
**
** 20 Oct 99 R Joshel created
**
** V0.1 B S Hendricks / Accelerator Controls 15-Aug-01
** Added support for states 'Intermediate Halo Removal' and
** 'Retract Pbar Collimators'
**
** V0.2 B S Hendricks / Accelerator Controls 22-Sep-03
** Added support for new collimator at A48
**
** V0.3 B S Hendricks / Accelerator Controls 30-Sep-03
** Fixed erroneous LVDT device information and added some
** values shared by the collimator application programs
**
** V0.4 Dean Still / Acclerator Tevatron 30-Sep-04
** The D171 target was removed from the tunnel. Removed all
** di's and lists assosiated with this target and other nessaccary
** values.
**
** V0.5 Dean Still / Acclerator Tevatron 07-Oct-08
** Added crystal collimator T:E0CH and T:E0CA to state movement.
**
**--
*******************************************************************************/
#ifndef TEVCOL_H_DEFINED
#define TEVCOL_H_DEFINED
#include "cnsparam.h"
/*
** network requests to tevcol oac
*/
#define TEVCOL_UTIL_DUMPLOG 1 /* dump & reopen oac logfile */
#define TEVCOL_UTIL_BUGSON 2 /* turn bugs flag on */
#define TEVCOL_UTIL_BUGSOFF 3 /* trun bugs flag off */
/*
** collimator locations /array ennumerations
*/
#define LOC_D172H 0
#define LOC_D172V 1
#define LOC_D173H 2
#define LOC_D173V 3
#define LOC_D49H 4
#define LOC_D49V 5
#define LOC_E01H 6
#define LOC_E01V 7
#define LOC_E02H 8
#define LOC_E02V 9
#define LOC_E03H 10
#define LOC_E03V 11
#define LOC_F171H 12
#define LOC_F171V 13
#define LOC_F172H 14
#define LOC_F172V 15
#define LOC_F173H 16
#define LOC_F173V 17
#define LOC_F481H 18
#define LOC_F481V 19
#define LOC_F491H 20
#define LOC_F491V 21
#define LOC_A01H 22
#define LOC_A01V 23
#define LOC_A48H 24
#define LOC_A48V 25
#define LOC_E0CH 26
#define LOC_E0CA 27
#define NUM_COLLS 28 /* # of collimators used */
/*
** V:TEVCOL States
*/
#define T_TEVCOL 145456 /* global State Device Index */
#define V_TEVCOL 145233 /* global State Device Index */
#define TCS_UNDEFINED 0
#define TCS_ABORT 1
#define TCS_INI_HALO 2
#define TCS_CAL_PARA 3
#define TCS_REM_HALO 4
#define TCS_GO2_STORE 5
#define TCS_SCRAPE 6
#define TCS_INI_PROT 7
#define TCS_REM_PROT 8
#define TCS_GO2_SAFE 9
#define TCS_INT_REM_HALO 10
#define TCS_RETRACT_PBAR 11
#define NUM_TCS 12
/*
** TEVCOL params
*/
#define TEVCOL_COLCAL_NODNLD 0 /* no download of params */
#define TEVCOL_COLCAL_DODNLD 1 /* required download of params */
#define TEVCOL_COLCAL_OPTDNLD (-1) /* optional download of params */
/*
** TEVCOL OAC devices
*/
#define NUM_TEVCOL_DIS (4+2*(NUM_TCS-1))
#define T_COLSTS 145435
#define T_COLCAL 145492
#define T_COLCMP 148185
#define T_COLSTA 148245
#define T_COLSEQ 149638
#define T_CTRN01 145425
#define T_CTRN02 145426
#define T_CTRN03 145427
#define T_CTRN04 145428
#define T_CTRN05 145429
#define T_CTRN06 145430
#define T_CTRN07 145431
#define T_CTRN08 145432
#define T_CTRN09 145433
#define T_CTRN10 159970
#define T_CTRN11 159971
#define T_CCTL01 145258
#define T_CCTL02 145259
#define T_CCTL03 145260
#define T_CCTL04 145261
#define T_CCTL05 145262
#define T_CCTL06 145263
#define T_CCTL07 145264
#define T_CCTL08 145265
#define T_CCTL09 145266
#define T_CCTL10 159972
#define T_CCTL11 159973
/*
** collimator station devices
*/
#define T_D12HSS 146420
#define T_D12VSS 146433
#define T_D13HSS 146444
#define T_D13VSS 146457
#define T_D49HSS 146686
#define T_D49VSS 146699
#define T_E01HSS 145567
#define T_E01VSS 145568
#define T_E02HSS 145665
#define T_E02VSS 145678
#define T_E03HSS 145689
#define T_E03VSS 145702
#define T_F11HSS 145641
#define T_F11VSS 145654
#define T_F12HSS 145562
#define T_F12VSS 145563
#define T_F13HSS 145713
#define T_F13VSS 145726
#define T_F48HSS 145745
#define T_F48VSS 145758
#define T_F49HSS 145769
#define T_F49VSS 145782
#define T_A01HSS 145793
#define T_A01VSS 145806
#define T_A48HSS 176712
#define T_A48VSS 176725
#define T_E0CHSS 225183
#define T_E0CASS 225193
#define T_D12HM 146421
#define T_D12VM 146434
#define T_D13HM 146445
#define T_D13VM 146458
#define T_D49HM 146687
#define T_D49VM 146700
#define T_E01HM 145516
#define T_E01VM 145524
#define T_E02HM 145670
#define T_E02VM 145679
#define T_E03HM 145694
#define T_E03VM 145703
#define T_F11HM 145642
#define T_F11VM 145655
#define T_F12HM 144617
#define T_F12VM 144750
#define T_F13HM 145714
#define T_F13VM 145727
#define T_F48HM 145750
#define T_F48VM 145759
#define T_F49HM 145774
#define T_F49VM 145783
#define T_A01HM 145794
#define T_A01VM 145807
#define T_A48HM 176717
#define T_A48VM 176726
#define T_E0CHM 225178
#define T_E0CAM 225188
/* Collimator LVDT devices */
#define T_D171H 143617
#define T_D171V 143619
#define T_D172UH 143621
#define T_D172DH 143622
#define T_D172UV 143623
#define T_D172DV 143624
#define T_D173UH 143625
#define T_D173DH 147989
#define T_D173UV 143626
#define T_D173DV 147990
#define T_D49H 146675
#define T_D49V 146676
#define T_E01UH 139384
#define T_E01DH 139383
#define T_E01UV 139382
#define T_E01DV 139381
#define T_E02UH 139410
#define T_E02DH 139411
#define T_E02UV 139412
#define T_E02DV 139413
#define T_E03UH 139377
#define T_E03DH 139380
#define T_E03UV 139378
#define T_E03DV 139379
#define T_F171UH 139424
#define T_F171DH 139425
#define T_F171UV 139426
#define T_F171DV 139435
#define T_F172UH 139427
#define T_F172DH 139432
#define T_F172UV 139433
#define T_F172DV 139434
#define T_F173H 139418
#define T_F173V 139419
#define T_F48UH 143607
#define T_F48DH 143608
#define T_F48UV 143609
#define T_F48DV 143610
#define T_F49H 143611
#define T_F49V 143612
#define T_A01UH 143615
#define T_A01DH 143616
#define T_A01UV 143613
#define T_A01DV 143614
#define T_A48UH 176698
#define T_A48DH 176699
#define T_A48UV 176700
#define T_A48DV 176701
#define T_E0CH 176165
#define T_E0CA 193081
/* Collimator CP devices */
#define T_D12HCP 146419
#define T_D12VCP 146432
#define T_D13HCP 146443
#define T_D13VCP 146456
#define T_D49HCP 146685
#define T_D49VCP 146698
#define T_E01HCP 145515
#define T_E01VCP 145523
#define T_E02HCP 145664
#define T_E02VCP 145677
#define T_E03HCP 145688
#define T_E03VCP 145701
#define T_F11HCP 145640
#define T_F11VCP 145653
#define T_F12HCP 144612
#define T_F12VCP 144749
#define T_F13HCP 145712
#define T_F13VCP 145725
#define T_F48HCP 145744
#define T_F48VCP 145757
#define T_F49HCP 145768
#define T_F49VCP 145781
#define T_A01HCP 145792
#define T_A01VCP 145805
#define T_A48HCP 176711
#define T_A48VCP 176724
#define T_E0CHCP 176160
#define T_E0CACP 202409
extern const int tevcol_ss_dis[NUM_COLLS];
extern const int tevcol_go_dis[NUM_COLLS];
extern const int tevcol_tc_dis[NUM_TEVCOL_DIS];
extern const int tevcol_up_lvdt_dis[NUM_COLLS];
extern const int tevcol_cp_dis[NUM_COLLS];
extern const char *tevcol_tc_names[NUM_COLLS];
#define TC_TYPE_NAME_LEN 28
extern const char *tevcol_tc_types[NUM_COLLS];
extern const int tevcol_tc_group_colors[NUM_COLLS];
/* Collimator XI devices (initial positions) */
#define T_D12VXI 146429
#define T_D12HXI 146416
#define T_D13VXI 146453
#define T_D13HXI 146440
#define T_D49VXI 146695
#define T_D49HXI 146682
#define T_E01VXI 145520
#define T_E01HXI 145512
#define T_E02VXI 145674
#define T_E02HXI 145661
#define T_E03VXI 145698
#define T_E03HXI 145685
#define T_F11VXI 145650
#define T_F11HXI 145637
#define T_F12VXI 144746
#define T_F12HXI 144614
#define T_F13VXI 145722
#define T_F13HXI 145709
#define T_F48VXI 145754
#define T_F48HXI 145741
#define T_F49VXI 145778
#define T_F49HXI 145765
#define T_A01VXI 145802
#define T_A01HXI 145789
#define T_A48VXI 176721
#define T_A48HXI 176708
#define T_E0CHXI 225182
#define T_E0CAXI 225192
/* Collimator X0 devices (safe for injection positions) */
#define T_D12VX0 146428
#define T_D12HX0 146415
#define T_D13VX0 146452
#define T_D13HX0 146439
#define T_D49VX0 146694
#define T_D49HX0 146681
#define T_E01HX0 145511
#define T_E01VX0 145519
#define T_E02HX0 145660
#define T_E02VX0 145673
#define T_E03HX0 145684
#define T_E03VX0 145697
#define T_F11HX0 145636
#define T_F11VX0 145649
#define T_F12HX0 144613
#define T_F12VX0 144745
#define T_F13HX0 145708
#define T_F13VX0 145721
#define T_F48VX0 145753
#define T_F48HX0 145740
#define T_F49VX0 145777
#define T_F49HX0 145764
#define T_A01VX0 145801
#define T_A01HX0 145788
#define T_A48VX0 176720
#define T_A48HX0 176707
#define T_E0CHX0 225181
#define T_E0CAX0 225191
/* Collimator PL devices (positive limits) */
#define T_D12VPL 146431
#define T_D12HPL 146418
#define T_D13VPL 146455
#define T_D13HPL 146442
#define T_D49VPL 146697
#define T_D49HPL 146684
#define T_E01VPL 145522
#define T_E01HPL 145514
#define T_E02VPL 145676
#define T_E02HPL 145663
#define T_E03VPL 145700
#define T_E03HPL 145687
#define T_F11VPL 145652
#define T_F11HPL 145639
#define T_F12VPL 144748
#define T_F12HPL 144616
#define T_F13VPL 145724
#define T_F13HPL 145711
#define T_F48VPL 145756
#define T_F48HPL 145743
#define T_F49VPL 145780
#define T_F49HPL 145767
#define T_A01VPL 145804
#define T_A01HPL 145791
#define T_A48VPL 176723
#define T_A48HPL 176710
#define T_E0CHPL 176164
#define T_E0CAPL 202411
/* Collimator NL devices (negative limits) */
#define T_D12VNL 146430
#define T_D12HNL 146417
#define T_D13VNL 146454
#define T_D13HNL 146441
#define T_D49VNL 146696
#define T_D49HNL 146683
#define T_E01VNL 145521
#define T_E01HNL 145513
#define T_E02VNL 145675
#define T_E02HNL 145662
#define T_E03VNL 145699
#define T_E03HNL 145686
#define T_F11VNL 146551
#define T_F11HNL 145638
#define T_F12VNL 144747
#define T_F12HNL 144615
#define T_F13VNL 145723
#define T_F13HNL 145710
#define T_F48VNL 145755
#define T_F48HNL 145742
#define T_F49VNL 145779
#define T_F49HNL 145766
#define T_A01VNL 145803
#define T_A01HNL 145790
#define T_A48VNL 176722
#define T_A48HNL 176709
#define T_E0CHNL 176163
#define T_E0CANL 202410
/* Collimator loss devices */
#define T_LD1710 143595
#define T_LD1711 143596
#define T_LD1712 143597
#define T_LD1713 143598
#define T_LD1720 143599
#define T_LD1721 143600
#define T_LD1722 143601
#define T_LD1723 143602
#define T_LD1730 143603
#define T_LD1731 143604
#define T_LD1732 143605
#define T_LD1733 143606
#define T_LE010 143555
#define T_LE011 143556
#define T_LE012 143557
#define T_LE013 143558
#define T_LE020 143559
#define T_LE021 143560
#define T_LE022 143561
#define T_LE023 143562
#define T_LE030 143563
#define T_LE031 143564
#define T_LE032 143565
#define T_LE033 143566
#define T_LF1710 141211
#define T_LF1711 141210
#define T_LF1712 141212
#define T_LF1713 141213
#define T_LF1720 141217
#define T_LF1721 141216
#define T_LF1722 141215
#define T_LF1723 141214
#define T_LF1730 141218
#define T_LF1731 141219
#define T_LF1732 141220
#define T_LF1733 141221
#define T_LF480 143583
#define T_LF481 143584
#define T_LF482 143585
#define T_LF483 143586
#define T_LF490 143587
#define T_LF491 143588
#define T_LF492 143589
#define T_LF493 143590
#define T_LA010 143591
#define T_LA011 143592
#define T_LA012 143593
#define T_LA013 143594
#define T_LD490 148945
#define T_LD491 148946
#define T_LD492 148947
#define T_LD493 148948
#define T_LA480 176694
#define T_LA481 176695
#define T_LA482 176696
#define T_LA483 176697
#define T_LCC00 225559
#define T_LCC01 225560
#define T_LCC02 225561
#define T_LCC03 225562
/* Collimator DX devices (step size under feedback) */
#define T_D12VDX 146426
#define T_D12HDX 146413
#define T_D13VDX 146450
#define T_D13HDX 146437
#define T_D49VDX 146692
#define T_D49HDX 146679
#define T_E01HDX 145509
#define T_E01VDX 145517
#define T_E02HDX 145658
#define T_E02VDX 145671
#define T_E03HDX 145682
#define T_E03VDX 145695
#define T_F11VDX 145647
#define T_F11HDX 145634
#define T_F12VDX 144743
#define T_F12HDX 144610
#define T_F13VDX 145719
#define T_F13HDX 145706
#define T_F48VDX 145751
#define T_F48HDX 145738
#define T_F49VDX 145775
#define T_F49HDX 145762
#define T_A01VDX 145799
#define T_A01HDX 145786
#define T_A48VDX 176718
#define T_A48HDX 176705
#define T_E0CHDX 225179
#define T_E0CADX 225189
/* Collimator DT devices (frequency if updates under feedback) */
#define T_D12VDT 146427
#define T_D12HDT 146414
#define T_D13VDT 146451
#define T_D13HDT 146438
#define T_D49VDT 146693
#define T_D49HDT 146680
#define T_E01VDT 145518
#define T_E01HDT 145510
#define T_E02VDT 145672
#define T_E02HDT 145659
#define T_E03VDT 145696
#define T_E03HDT 145683
#define T_F11VDT 145648
#define T_F11HDT 145635
#define T_F12VDT 144744
#define T_F12HDT 144611
#define T_F13VDT 145720
#define T_F13HDT 145707
#define T_F48VDT 145752
#define T_F48HDT 145739
#define T_F49VDT 145776
#define T_F49HDT 145763
#define T_A01VDT 145800
#define T_A01HDT 145787
#define T_A48VDT 176719
#define T_A48HDT 176706
#define T_E0CHDT 225180
#define T_E0CADT 225190
/* Collimator N devices (sigmas from the beam) */
#define T_D12VN 146425
#define T_D12HN 146424
#define T_D13VN 146449
#define T_D13HN 146448
#define T_D49VN 146691
#define T_D49HN 146690
#define T_E01VN 145625
#define T_E01HN 145623
#define T_E02VN 145667
#define T_E02HN 145666
#define T_E03VN 145691
#define T_E03HN 145690
#define T_F11VN 145646
#define T_F11HN 145645
#define T_F12VN 145624
#define T_F12HN 145622
#define T_F13VN 145718
#define T_F13HN 145717
#define T_F48VN 145747
#define T_F48HN 145746
#define T_F49VN 145771
#define T_F49HN 145770
#define T_A01VN 145798
#define T_A01HN 145797
#define T_A48VN 176714
#define T_A48HN 176713
#define T_E0CHN 225184
#define T_E0CAN 225194
/* Collimator PR devices (proton percentage to remove) */
#define T_D12PR 146423
#define T_D13PR 146447
#define T_D49PR 146689
#define T_E01PR 145627
#define T_E02PR 145669
#define T_E03PR 145693
#define T_F11PR 145644
#define T_F12PR 145626
#define T_F13PR 145716
#define T_F48PR 145749
#define T_F49PR 145773
#define T_A01PR 145796
#define T_A48PR 176716
/* Collimator AR devices (antiproton percentage to remove) */
#define T_D12AR 146422
#define T_D13AR 146446
#define T_D49AR 146688
#define T_E01AR 145629
#define T_E02AR 145668
#define T_E03AR 145692
#define T_F11AR 145643
#define T_F12AR 145628
#define T_F13AR 145715
#define T_F48AR 145748
#define T_F49AR 145772
#define T_A01AR 145795
#define T_A48AR 176715
/* Collimator retract devices */
#define T_F48HBK 157517
#define T_F48VBK 157518
#define T_F49HBK 157519
#define T_F49VBK 157520
#define T_A01HBK 157521
#define T_A01VBK 157522
#define T_D12HBK 157525
#define T_D12VBK 157526
#define T_D13HBK 157527
#define T_D13VBK 157528
#define T_D49HBK 157529
#define T_D49VBK 157530
#define T_E01HBK 157531
#define T_E01VBK 157532
#define T_E02HBK 157533
#define T_E02VBK 157534
#define T_E03HBK 157535
#define T_E03VBK 157536
#define T_F11HBK 157537
#define T_F11VBK 157538
#define T_F12HBK 157539
#define T_F12VBK 157540
#define T_F13HBK 157541
#define T_F13VBK 157542
#define T_A48HBK 176731
#define T_A48VBK 176732
#define T_E0CHBK 225185
#define T_E0CABK 225195
#define NUM_LOCAL_LM 4
typedef struct coll_parm_di /* parameter structure for each collimator */
{
int mode;
int Xo;
int Xi;
int dx;
int dt;
int loss_limit[NUM_LOCAL_LM];
int proton_int_limit;
int pbar_int_limit;
int N_sig;
int current_pos;
int neg_limit;
int pos_limit;
int retract;
} COLL_PARM_DI;
/* below section entered under protest (for Deano) */
#define NUM_SEQ 11 /* number of sequences in V:TEVCOL */
extern const int tevcol_Seq_map_di[NUM_SEQ];
extern const int tevcol_State_map_di[NUM_SEQ];
extern const COLL_PARM_DI tevcol_Coll_di[NUM_COLLS];
#define ss_dis tevcol_ss_dis
#define go_dis tevcol_go_dis
#define tc_dis tevcol_tc_dis
#define up_lvdt_dis tevcol_up_lvdt_dis
#define cp_dis tevcol_cp_dis
#define tc_names tevcol_tc_names
#define tc_types tevcol_tc_types
#define tc_group_colors tevcol_tc_group_colors
#define Seq_map_di tevcol_Seq_map_di
#define State_map_di tevcol_State_map_di
#define Coll_di tevcol_Coll_di
#endif
Security, Privacy, Legal