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