Changeset 3658 in Sophya for trunk/AddOn/TAcq/racqumem.cc


Ignore:
Timestamp:
Oct 18, 2009, 11:10:33 AM (16 years ago)
Author:
ansari
Message:

1/ Gestion multi-fibre ds RAcqMemZoneMgr et les DMAReader/DiskWriter (brproc.cc)
2/ Possibilite d'ajout de mot cle ds l'entete FITS par la classe MiniFITSFile

Reza , 18/10/2009

File:
1 edited

Legend:

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

    r3640 r3658  
    77
    88/* --Methode-- */
    9 RAcqMemZoneMgr::RAcqMemZoneMgr(uint_4 nz, uint_4 np, uint_4 psz, uint_4 procpsz)
    10   : mex(true), nzones(nz), npaq(np), paqsz(psz), procpaqsz(procpsz),stop_(false)
     9RAcqMemZoneMgr::RAcqMemZoneMgr(uint_4 nz, uint_4 np, uint_4 psz)
     10  : mex(true), nzones(nz), nfibres(1), npaq(np), paqsz(psz), procpaqsz(0), stop_(false), runstate_(MemZR_Running)
     11{
     12  Init();
     13}
     14
     15/* --Methode-- */
     16RAcqMemZoneMgr::RAcqMemZoneMgr(uint_4 nzon, uint_4 nfib, uint_4 npaq, uint_4 paqsz, uint_4 procsz)
     17  : mex(true), nzones(nzon), nfibres(nfib), npaq(npaq), paqsz(paqsz), procpaqsz(procsz),
     18    stop_(false), runstate_(MemZR_Running)
     19{
     20  Init();
     21}
     22
     23/* --Methode-- */
     24void RAcqMemZoneMgr::Init()
    1125{
    1226  St_MemZ st;
     
    1630  st.stat = (uint_4)MemZS_Free;
    1731  for(int k=0; k<6; k++) st.nbact[k] = 0;
    18   uint_8 mzsz = npaq*paqsz;
    19   uint_8 procmzsz = npaq*procpaqsz;
    20 
    21    for(int k=0; k<NbZones(); k++) {
     32  uint_8 mzsz = nfibres*npaq*paqsz;
     33  uint_8 procmzsz = nfibres*npaq*procpaqsz;
     34
     35   for(unsigned int k=0; k<NbZones(); k++) {
    2236     memzones.push_back(new Byte[mzsz] );
    2337     states.push_back(st);
     
    3145RAcqMemZoneMgr::~RAcqMemZoneMgr()
    3246{
    33   for(uint_4 k=0; k<NbZones(); k++) delete[] memzones[k];
     47  for(uint_4 k=0; k<NbZones(); k++) {
     48    delete[] memzones[k];
     49    if (procpaqsz > 0) delete[] procmemzones[k];
     50  }
    3451}
    3552
     
    203220  //  cout << "RAcqMemZoneMgr::Stop() ........ STOP                          BROADCAST" <<endl;
    204221  stop_ = true;
     222  runstate_ = MemZR_Stopped;
    205223  mex.broadcast();
    206224}
Note: See TracChangeset for help on using the changeset viewer.