Ignore:
Timestamp:
06/09/11 21:15:53 (13 years ago)
Author:
tbretz
Message:
Some new version -- now chnagelog informations available.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/FAD.h

    r10773 r10963  
    2929// Data structures
    3030//
     31
     32typedef struct{
     33  int hardID ;       //hardware ID
     34  int pos_i ;        //geometrical positon row
     35  int pos_j ;        //                    column
     36  int G_APD ;        //G-APD identifier
     37  double V_op ;      //operation voltage
     38  int HV_B ;         //HV Board
     39  int HV_C ;         //HV Channel
     40  double pos_X ;     //geometrical position in pixel units
     41  double pos_Y ;     //
     42} PIX_MAP ;
     43
     44
    3145typedef struct {
    3246
     
    7690#define NBOARDS      40      // max. number of boards
    7791#define NPIX       1440      // max. number of pixels
    78 #define NTMARK      180      // max. number of timeMarker signals
     92#define NTMARK      160      // max. number of timeMarker signals
    7993#define MAX_SOCK    280      // NBOARDS * 7
    8094
     
    101115
    102116typedef struct {
     117  uint16_t Roi ;            // #slices per pixel (same for all pixels and tmarks)
    103118  uint32_t EventNum ;       // EventNumber as from FTM
    104119  uint16_t TriggerType ;    // Trigger Type from FTM
    105   uint16_t Roi ;            // #slices per pixel (same for all pixels and tmarks)
    106120
    107121  uint32_t SoftTrig ;       // SoftTrigger Info (TBD)
    108122  uint32_t PCTime ;         // when did event start to arrive at PC
    109123
    110    int16_t *StartPix ;      //First Channel per Pixel (Pixels sorted according Software ID)  ; -1 if not filled
    111 
    112    int16_t *StartTM  ;      //First Channel for TimeMark (sorted Hardware ID) ; -1 if not filled
    113 
    114   uint16_t *Adc_Data ;      // [ NPixels ] [ ROI ]  sorted softID
    115 
    116   uint16_t *Adc_Tmark ;     // [ NTmark ] [ ROI ]   sorted hardID
    117 
    118 //this is highly redundant and should be reduced to usefull info [if any]
    119   PEVNT_HEADER *FADhead;    // [ NBoards ] sorted Board Headers (according Hardware ID)
     124  uint32_t BoardTime[NBOARDS];//
     125
     126   int16_t StartPix[NPIX];  // First Channel per Pixel (Pixels sorted according Software ID)  ; -1 if not filled
     127
     128   int16_t StartTM[NTMARK]; // First Channel for TimeMark (sorted Hardware ID) ; -1 if not filled
     129
     130  uint16_t Adc_Data[1];     // final length defined by malloc ....
    120131
    121132} EVENT ;
     
    162173//---------------------------------------------------------------
    163174
    164 #define MAX_RUN   64
    165 #define MAX_EVT   131072
     175#define MAX_RUN   256
     176#define MAX_EVT   32768  //don't worry, for events is MAX_RUN*MAX_EVT
     177
     178typedef void* FileHandle_t ;
    166179
    167180typedef struct {
    168181  uint32_t runId ;       //run number
    169182  uint32_t lastTime ;    //time when last event written so far
     183  uint32_t closeTime ;   //time when run should be closed
    170184  uint32_t nextEvt ;     //next event number to be written
    171185  uint32_t waitEvt ;     //event that would be ready to be written
    172    int32_t fileId ;      //id of open file
     186   int32_t fileId  ;     //<0 never opened, 0=open, >0 closed
     187  FileHandle_t fileHd ;   //fileHandle (NULL if not open)
    173188   int16_t ctrlId[MAX_EVT] ; //index to buffId (sorted list; -1 =end)
    174189  uint16_t buffId[MAX_EVT] ; //index to mBuffer(buffered raw data)
     
    188203  int32_t nRoi   ;
    189204  int32_t pcTime ;
     205  int32_t evtLen ;
    190206  EVENT   *fEvent  ;
     207  PEVNT_HEADER *FADhead; //
    191208
    192209} WRK_DATA ;             //internal to eventbuilder
     
    197214
    198215typedef struct {
    199   int readPtr ;             //index of reading
    200   int writePtr ;            //index of writing
     216  int frstPtr ;             //first used index
     217  int lastPtr ;             //last  used index
    201218  int evtBuf[MAX_EVT*MAX_RUN] ;     //index of event in mBuffer
    202219  int evtStat[MAX_EVT*MAX_RUN] ;    //status of event:
     
    215232} EVT_CTRL ;
    216233
     234//---------------------------------------------------------------
     235
     236
     237typedef struct {
     238   struct sockaddr_in sockAddr ;
     239   int    sockDef ; //<0 not defined/ ==0 not to be used/ >0 used
     240} FACT_SOCK ;
    217241
    218242
Note: See TracChangeset for help on using the changeset viewer.