Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:05:30

0001 /*
0002  *  qp_cuts.h  --
0003  *  define the structure for the cut store and
0004  *  declare the routines to access it.
0005  *
0006  *  Original: 31-Jan-1995 15:21
0007  *
0008  *  Author:   Maarten Ballintijn <Maarten.Ballintijn@cern.ch>
0009  *
0010  *  $Id$
0011  *
0012  *  $Log$
0013  *  Revision 1.5  1996/04/23 18:38:14  maartenb
0014  *  - Add RCS keywords
0015  *
0016  *
0017  */
0018 
0019 #ifndef CERN_QP_CUTS
0020 #define CERN_QP_CUTS
0021 
0022 
0023 #define MAX_CUT_ID  99
0024 
0025 
0026 typedef enum {
0027     C_NONE,
0028     C_EXPR,
0029     C_GRAF
0030 } CutType;
0031 
0032 
0033 typedef float   (*CutData)[2];
0034 
0035 
0036 typedef struct _cut_expr_ {
0037     char    *expr;
0038 } CutExpr;
0039 
0040 
0041 typedef struct _cut_graf_ {
0042     int dim;
0043     char    *exprx;
0044     char    *expry;
0045     int np;
0046     CutData points;
0047 } CutGraf;
0048 
0049 
0050 typedef struct _cut_ {
0051     int id;
0052     CutType     ctyp;   /* C_EXPR or C_GRAF */
0053 
0054     /* the dependency info */
0055 
0056     int size;
0057     int num;
0058     short   *dep;
0059 
0060     /* specific info */
0061 
0062     union {
0063         CutExpr expr;
0064         CutGraf graf;
0065     } u;
0066 
0067 } Cut;
0068 
0069 
0070 CutType
0071 qp_cut_type( int cid );
0072 
0073 char *
0074 qp_cut_expr( int cid );
0075 
0076 void
0077 qp_gcut_expr( int cid, char **x, char **y );
0078 
0079 void
0080 qp_cut_add_dep( int cid, int used_cid, int * errp );
0081 
0082 int
0083 cut_get_cid( char * const cid_str );
0084 
0085 void
0086 gcut_add_1d( int cid, const char * const expr, float xlow, float xhigh );
0087 
0088 void
0089 gcut_add_2d( int cid, const char * const expr_x, const char * const expr_y,
0090     int n, float xv[], float yv[] );
0091 
0092 CutGraf *
0093 gcut_get_data( const int cid );
0094 
0095 #endif  /*  CERN_QP_CUTS    */