GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> GRBP_DB / V1-0-1 > grbp_db_siu / linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

GRBP_DB_clientMacros.h File Reference

Macros to allow one to configure the client side of the GRB detection algorithm. These macros are meant to shield the user from the details of C syntax and the structure layout. More...

#include "GRBP_DB/GRBP_DB_clientSchema.h"
#include "GRBP_DB/GRBP_DB_windowList.h"
#include "GRBP_DB/GRBP_DB_window.h"
#include "GRBP_DB/GRBP_DB_messageSchedule.h"
#include "GRBP_DB/GRBP_DB_locationSchedule.h"

Defines

#define M_PI   3.14159265358979323846
#define GRBP_DB_WINDOWS   GrbpDbWindows_ ## INSTANCE
#define GRBP_DB_CLIENT_DATA   GrbpDbClient_ ## INSTANCE
 The data for this GRBP client.
#define LAT   _GRBP_DB_WINDOW_TYPE_K_LAT
 A LAT type window.
#define GBM   _GRBP_DB_WINDOW_TYPE_K_GBM
 A GBM type window.
#define WINDOW_0_TIER1_NMOVE   0
#define WINDOW_0_TIER1_NWINDOW   0
#define WINDOW_0_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_0_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_1_TIER1_NMOVE   0
#define WINDOW_1_TIER1_NWINDOW   0
#define WINDOW_1_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_1_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_2_TIER1_NMOVE   0
#define WINDOW_2_TIER1_NWINDOW   0
#define WINDOW_2_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_2_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_3_TIER1_NMOVE   0
#define WINDOW_3_TIER1_NWINDOW   0
#define WINDOW_3_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_3_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_4_TIER1_NMOVE   0
#define WINDOW_4_TIER1_NWINDOW   0
#define WINDOW_4_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_4_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_5_TIER1_NMOVE   0
#define WINDOW_5_TIER1_NWINDOW   0
#define WINDOW_5_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_5_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_6_TIER1_NMOVE   0
#define WINDOW_6_TIER1_NWINDOW   0
#define WINDOW_6_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_6_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_7_TIER1_NMOVE   0
#define WINDOW_7_TIER1_NWINDOW   0
#define WINDOW_7_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_7_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_8_TIER1_NMOVE   0
#define WINDOW_8_TIER1_NWINDOW   0
#define WINDOW_8_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_8_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_9_TIER1_NMOVE   0
#define WINDOW_9_TIER1_NWINDOW   0
#define WINDOW_9_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_9_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_10_TIER1_NMOVE   0
#define WINDOW_10_TIER1_NWINDOW   0
#define WINDOW_10_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_10_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_11_TIER1_NMOVE   0
#define WINDOW_11_TIER1_NWINDOW   0
#define WINDOW_11_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_11_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_12_TIER1_NMOVE   0
#define WINDOW_12_TIER1_NWINDOW   0
#define WINDOW_12_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_12_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_13_TIER1_NMOVE   0
#define WINDOW_13_TIER1_NWINDOW   0
#define WINDOW_13_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_13_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_14_TIER1_NMOVE   0
#define WINDOW_14_TIER1_NWINDOW   0
#define WINDOW_14_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_14_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_15_TIER1_NMOVE   0
#define WINDOW_15_TIER1_NWINDOW   0
#define WINDOW_15_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_15_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_16_TIER1_NMOVE   0
#define WINDOW_16_TIER1_NWINDOW   0
#define WINDOW_16_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_16_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_17_TIER1_NMOVE   0
#define WINDOW_17_TIER1_NWINDOW   0
#define WINDOW_17_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_17_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_18_TIER1_NMOVE   0
#define WINDOW_18_TIER1_NWINDOW   0
#define WINDOW_18_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_18_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_19_TIER1_NMOVE   0
#define WINDOW_19_TIER1_NWINDOW   0
#define WINDOW_19_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_19_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_20_TIER1_NMOVE   0
#define WINDOW_20_TIER1_NWINDOW   0
#define WINDOW_20_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_20_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_21_TIER1_NMOVE   0
#define WINDOW_21_TIER1_NWINDOW   0
#define WINDOW_21_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_21_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_22_TIER1_NMOVE   0
#define WINDOW_22_TIER1_NWINDOW   0
#define WINDOW_22_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_22_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_23_TIER1_NMOVE   0
#define WINDOW_23_TIER1_NWINDOW   0
#define WINDOW_23_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_23_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_24_TIER1_NMOVE   0
#define WINDOW_24_TIER1_NWINDOW   0
#define WINDOW_24_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_24_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_25_TIER1_NMOVE   0
#define WINDOW_25_TIER1_NWINDOW   0
#define WINDOW_25_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_25_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_26_TIER1_NMOVE   0
#define WINDOW_26_TIER1_NWINDOW   0
#define WINDOW_26_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_26_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_27_TIER1_NMOVE   0
#define WINDOW_27_TIER1_NWINDOW   0
#define WINDOW_27_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_27_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_28_TIER1_NMOVE   0
#define WINDOW_28_TIER1_NWINDOW   0
#define WINDOW_28_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_28_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_29_TIER1_NMOVE   0
#define WINDOW_29_TIER1_NWINDOW   0
#define WINDOW_29_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_29_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_30_TIER1_NMOVE   0
#define WINDOW_30_TIER1_NWINDOW   0
#define WINDOW_30_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_30_TIER1_CLUSTER_THRESHOLD   0
#define WINDOW_31_TIER1_NMOVE   0
#define WINDOW_31_TIER1_NWINDOW   0
#define WINDOW_31_TIER1_TEMPORAL_CONTRAST   0
#define WINDOW_31_TIER1_CLUSTER_THRESHOLD   0
#define MESSAGE_SCHEDULE_CONFIRM(_count, _duration)   { _count, _duration }
 Construct the data statement used to initialize the scheduling parameters for GRB confirmed message.
#define MESSAGE_SCHEDULE_UPDATE(_time)   { _time }
 Construct the data statement used to initialize the scheduling parameters for a single GRB update message.
#define MESSAGE_SCHEDULE_UPDATE_LIST(_data)   { sizeof (_data) / sizeof(*_data), _data }
 Constructs the data statement used to initialize the update scheduling list.
#define MESSAGE_SCHEDULE_CLOSEOUT(_time)   { _time }
 Construct the data statement used to initialize the scheduling parameters for GRB closeout message.
#define MESSAGE_SCHEDULE_DATA(_id)
 Constructs the static data structure for an instance of the schduling parameters.
#define MESSAGE_SCHEDULE(_id)   &GRBP_DB_messageSchedule_ ## _id
 Returns an expression that can be used as reference to the specified scheduling structure.
#define LOCATION_SCHEDULE_UPDATE(_count, _repeat)   { _count, _repeat }
 Construct the data statement used to initialize the scheduling parameters for a location update.
#define LOCATION_SCHEDULE_DATA(_id)
 Constructs the static data structure for an instance of the schduling parameters.
#define LOCATION_SCHEDULE(_id)   &GRBP_DB_locationSchedule_ ## _id
 Returns an expression that can be used as reference to the specified scheduling structure.
#define STANDARD_HEADER   { GRBP_DB_CLIENT_SIZEOF, GRBP_DB_CLIENT_SERVICESGET }
 Defines the standard header for all client (SIU) side schemas.
#define RADIANS(_degrees)   ((_degrees) * (M_PI/180))
 Simply macro to convert degrees to radians.
#define GBM_CFG
 Defines the data block for configuring the GBM message handling.
#define PROBABILITY_CFG
 Defines the data block for configuring the probability constants.
#define CACHE_CFG
 Defines the data block for configuring the input photon cache.
#define WINDOWLIST_CFG   {0, 0}
#define GRB_GAMMA_LIST_SIZE   0
#define GRB_SKEW_RA_ARCMINS   0
#define GRB_SKEW_DEC_ARCMINS   0
#define GBM_LATENCY_SECONDS   0
#define GRB_CFG
 The GRB configuration parameters.

Typedefs

typedef enum
_GRBP_DB_WINDOW_STATE 
GRBP_DB_WINDOW_STATE
 Typedef for enum _GRBP_DB_WINDOW_STATE.

Enumerations

enum  _GRBP_DB_WINDOW_STATE {
  DISABLED = 0,
  ENABLED = 1
}
 Enumerates the window states.

Variables

static const
GRBP_DB_clientSchemaAll 
GRBP_DB_CLIENT_DATA


Detailed Description

Macros to allow one to configure the client side of the GRB detection algorithm. These macros are meant to shield the user from the details of C syntax and the structure layout.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: GRBP_DB_clientMacros.h,v 1.7 2010/04/30 16:36:50 jgt Exp $

Define Documentation

#define CACHE_CFG

Value:

{                                                                         \
    { CACHE_SIZE  },                                                      \
    { CACHE_CLUSTER_MAX_SIZE > CACHE_SIZE ? 1/0                           \
    : CACHE_CLUSTER_MAX_SIZE},                                            \
    { RADIANS (CACHE_CLUSTER_RADIUS_DEGREES) }                            \
}
Defines the data block for configuring the input photon cache.

#define GBM   _GRBP_DB_WINDOW_TYPE_K_GBM

A GBM type window.

This exists solely to make the files more readable

#define GBM_CFG

Value:

{                                                                         \
    GBM_LATENCY_SECONDS,                                                  \
    GBM_DURATION_SECONDS,                                                 \
  { GBM_SKEW_RA_ARCMINS,                                                  \
    GBM_SKEW_DEC_ARCMINS }                                                \
}
Defines the data block for configuring the GBM message handling.

#define GRB_CFG

Value:

{                                                                         \
      { GRB_GAMMA_LIST_SIZE },                                            \
      { GRB_SKEW_RA_ARCMINS,                                              \
        GRB_SKEW_DEC_ARCMINS }                                            \
}
The GRB configuration parameters.

#define LOCATION_SCHEDULE ( _id   )     &GRBP_DB_locationSchedule_ ## _id

Returns an expression that can be used as reference to the specified scheduling structure.

Parameters:
_id The identifier of the desired scheduling structure.
This macro provides a standard method of accessing the data structure defined by the LOCATION_DATA macro. Use of this macro ensures that the references to the data generated by the LOCATION_DATA is consistent with the artificial name it generates.

#define LOCATION_SCHEDULE_DATA ( _id   ) 

Value:

static const GRBP_DB_locationScheduleUpdate               \
             GRBP_DB_locationScheduleUpdate_ ## _id[] =   \
{                                                         \
   LOCATION_SCHEDULE_ ## _id ## _UPDATES                  \
};                                                        \
                                                          \
static const GRBP_DB_locationSchedule                     \
             GRBP_DB_locationSchedule_ ## _id =           \
{                                                         \
    LOCATION_SCHEDULE_ ## _id ## _INITIAL_COUNT,          \
    { sizeof (GRBP_DB_locationScheduleUpdate_ ## _id) /   \
      sizeof (GRBP_DB_locationScheduleUpdate_ ## _id[0]), \
      GRBP_DB_locationScheduleUpdate_ ## _id           }  \
};
Constructs the static data structure for an instance of the schduling parameters.

Parameters:
_id The identifier with the ASCII values of the numbers 0-31.
This defines one instance (out of a fixed upper limit of 32) of the message scheduling database. This macro drops two data structures

The first is of little interest to the user. It's only purpose is to provide a well defined name that the second structure can use to initialize a pointer to the update list.

Various macros must be in place for this macro to function correctly.

#define LOCATION_SCHEDULE_UPDATE ( _count,
_repeat   )     { _count, _repeat }

Construct the data statement used to initialize the scheduling parameters for a location update.

Parameters:
_count The additional number of gammas that need to be added to the list before a new location is derived.
_repeat The number of times to repeat this count.

#define MESSAGE_SCHEDULE ( _id   )     &GRBP_DB_messageSchedule_ ## _id

Returns an expression that can be used as reference to the specified scheduling structure.

Parameters:
_id The identifier of the desired scheduling structure.
This macro provides a standard method of accessing the data structure defined by the MESSAGE_SCHEDULE_DATA macro. Use of this macro ensures that the references to the data generated by the MESSAGE_SCHEDULE_DATA are consistent with the artificial name it generates.

#define MESSAGE_SCHEDULE_CLOSEOUT ( _time   )     { _time }

Construct the data statement used to initialize the scheduling parameters for GRB closeout message.

Parameters:
_time If the elapsed time from when the GRB started to the current time exceeds this value, a GRB closeout message will be issued.

#define MESSAGE_SCHEDULE_CONFIRM ( _count,
_duration   )     { _count, _duration }

Construct the data statement used to initialize the scheduling parameters for GRB confirmed message.

Parameters:
_count The number of photons needed in the localization list before a GRB confirmed message is issued.
_duration The duration of the ARR specified as a 32-bit floating point number in seconds.

#define MESSAGE_SCHEDULE_DATA ( _id   ) 

Value:

static const GRBP_DB_messageScheduleUpdate               \
             GRBP_DB_messageScheduleUpdate_ ## _id[] =   \
{                                                        \
   MESSAGE_SCHEDULE_ ## _id ## _UPDATES                  \
};                                                       \
                                                         \
static const GRBP_DB_messageSchedule                     \
             GRBP_DB_messageSchedule_ ## _id =           \
{                                                        \
    {0},                                                 \
    MESSAGE_SCHEDULE_ ## _id ## _CONFIRM,                \
    { sizeof (GRBP_DB_messageScheduleUpdate_ ## _id) /   \
      sizeof (GRBP_DB_messageScheduleUpdate_ ## _id[0]), \
      GRBP_DB_messageScheduleUpdate_ ## _id           }, \
     MESSAGE_SCHEDULE_ ## _id ## _CLOSEOUT               \
};
Constructs the static data structure for an instance of the schduling parameters.

Parameters:
_id The identifier with the ASCII values of the numbers 0-31.
This defines one instance (out of a fixed upper limit of 32) of the message scheduling database. This macro drops two data structures

The first is of little interest to the user. It's only purpose is to provide a well defined name that the second structure can use to initialize a pointer to the update list.

Various macros must be in place for this macro to function correctly.

#define MESSAGE_SCHEDULE_UPDATE ( _time   )     { _time }

Construct the data statement used to initialize the scheduling parameters for a single GRB update message.

Parameters:
_time If the elapsed time from when the GRB started to the current time exceeds this value, a GRB update message will be issued.

#define MESSAGE_SCHEDULE_UPDATE_LIST ( _data   )     { sizeof (_data) / sizeof(*_data), _data }

Constructs the data statement used to initialize the update scheduling list.

Parameters:
_data The name of the array of GRB update scheduling structures

#define PROBABILITY_CFG

Value:

{                                                                         \
      RADIANS (PROBABILITY_THETAMAX_DEGREES),                             \
      PROBABILITY_BACKGROUND_RATE_HZ                                      \
}
Defines the data block for configuring the probability constants.

#define RADIANS ( _degrees   )     ((_degrees) * (M_PI/180))

Simply macro to convert degrees to radians.

Returns:
The equivalent number of radians
Parameters:
_degrees The degrees to convert

#define STANDARD_HEADER   { GRBP_DB_CLIENT_SIZEOF, GRBP_DB_CLIENT_SERVICESGET }

Defines the standard header for all client (SIU) side schemas.

All that is needed here are the names of the routines that


Typedef Documentation

GRBP_DB_WINDOW_STATE

Typedef for enum _GRBP_DB_WINDOW_STATE.

This exists solely to make the files more readable


Variable Documentation

const GRBP_DB_clientSchemaAll GRBP_DB_CLIENT_DATA [static]

Initial value:


Generated on Wed Nov 10 12:17:33 2010 by  doxygen 1.5.3