Changeset 3909 in Sophya for trunk/AddOn/TAcq/racqumem.h


Ignore:
Timestamp:
Nov 21, 2010, 2:26:12 PM (15 years ago)
Author:
ansari
Message:

1/ Mise en place d'informations auxiliaires au niveau de RAcqMemZoneMgr ,

FillTime (DATEOBS) pour chaque zone et identificateur des fibres

2/ remplissage de FillTime(DATEOBS) Et FiberId's de MemZoneMgr par

les classes PCIEMultiReader et EthernetReader

3/ Ajout de mots-cle (ds les datacards) pour numeros d'identification des

fibres et parametres de controles du DMA (@fiberids @waitenddma)
et corrections/ameliorations des modes acq (raw1c ordfft2c ...)

4/ Parametrage des WaitEndDMA ds PCIEWrapperInterface et implementation

au niveau de DMAMgrV6 (dmamgrv6.h .cc)

5/ Gestion d'echec DMA -> arret acquisition ds PCIEMultiReader,EthernetReader

modification TimeOut DMA entre le premier DMA et les suivants pour permettre
un arret propre rapide

6/ Adaptation de la classe BRVisibilityCalculator pour utilisation

FillTime (DATEOBS) et FiberIds de MemZoneMgr - amelioration de
l'identification des numeros de canaux pour les matrices de visibilites

7/ Petites ameliorations (ecriture mot-cles) pour MultiDataSaver et

amelioration classe BRMultiFitsReader pour lecture FillTime (DATEOBS)
et FiberIds depuis les fichiers FITS et remplissage de RAcqMemZoneMgr

Reza, 21/11/2010

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/racqumem.h

    r3683 r3909  
    1616#include <iostream>
    1717#include "brtypes.h"
     18#include "timestamp.h"
    1819
    1920using namespace std;
     
    6364
    6465
     66// ---------------------------------------------------------
     67//  Classe pour donnees auxiliaires associees a chaque zone
     68// ---------------------------------------------------------
     69class RAcqMZAuxData {
     70public:
     71  RAcqMZAuxData() { }
     72  inline SOPHYA::TimeStamp& FillTime() { return filltime_; }
     73
     74  SOPHYA::TimeStamp filltime_;
     75};
     76
    6577// -------------------------------------------------------------------
    6678// Classe de gestion de zones memoire partagee (des buffers) entre
     
    8092  ~RAcqMemZoneMgr();
    8193 
     94  // Retourne le nombre de zones memoire
     95  inline uint_4 NbZones() { return nzones; }
    8296  // Retourne le nombre de fibres dans chaque zone
    83   inline uint_4 NbZones() { return nzones; }
    84   // Retourne le nombre de zones memoire
    8597  inline uint_4 NbFibres() { return nfibres; }
    8698  // Retourne la taille de paquet
     
    136148    return procmemzones[id]; 
    137149    }
    138  
     150  // Retourne le pointeur sur les donnees auxiliaire associee a une zone
     151  inline RAcqMZAuxData* GetAuxData(int id)   {
     152    if ((id < 0) || (id >=(int) auxdatap.size()))  return NULL;
     153    return auxdatap[id]; 
     154    } 
     155  // Retourne l'identificateur (numero absolu) de la fibre
     156  inline int& FiberId(int fib) {
     157    if ((fib < 0) || (fib >=(int) nfibres))  return dummy_;
     158    return fiber_id[fib];
     159  }
     160
    139161  ostream& Print(ostream& os);
    140162  inline ostream& Print() { return Print(cout); }
     
    153175  SOPHYA::ZMutex mex;   
    154176  uint_4  nzones, nfibres, npaq, paqsz, procpaqsz;
    155 //  DMAMgrInterface &dma_;
    156   vector< Byte* > memzones;
    157   vector< St_MemZ > states;
    158   vector< Byte* > procmemzones;
     177  vector< Byte* > memzones;            // pointeur de donnees de chaque zone
     178  vector< St_MemZ > states;            // etat de chaque zone
     179  vector< RAcqMZAuxData* > auxdatap;   // pointeur de donnees auxiliaires associees a chaque zone
     180  vector< Byte* > procmemzones;        // pointeur de donnees traitees de chaque zone 
     181// Identificateur (numero absolu) des fibres
     182  vector< int > fiber_id;
     183  int dummy_;
    159184  bool stop_;
    160185  MemZRunState runstate_;
Note: See TracChangeset for help on using the changeset viewer.