eis/inc/zlib/MemPass.h

79 lines
1.5 KiB
C++

/*********************************************************************
*
* file: MemPass.h
*
* copyright: Shanghai Baosight Software Co., Ltd.
*
* Version history
* 1.0 2020-02-16 zoufuzhou create
*
*********************************************************************/
#ifndef _H_MEM_PASS_H
#define _H_MEM_PASS_H
#include <zlib/coilDef.h>
#include <zlib/MemTable.hpp>
#include <zlib/MemTrk.h>
using namespace baosight;
class CMemPass
{
public:
CMemPass();
public:
~CMemPass(void);
public:
PASS_COIL* operator[](int index);
PASS_COIL* operator()(int ti);
/**********
*coilid: entry coil id or exit coil id
*mode: ALL:operator all track coil ,CENTER:operator center coil
**********/
PASS_COIL* operator()(const string& entId);
/**********
*ti: current coil id
*passno: current coil tcm passno
*length: current pass coil length
*start: current pass in memzone store start pos
*end: current pass in memzone store end pos
**********/
int push(int ti,int passno,int start,int end,long length);
/**********
*entId: current coil entId
*passno: current coil tcm passno
*length: current pass coil length
*start: current pass in memzone store start pos
*end: current pass in memzone store end pos
**********/
int push(const string& entId,int passno,int start,int end,long length);
/**********
*ti: current coil id
*entId: current coil entId
**********/
void setEntId(int ti,const string& entId);
void print(PASS_COIL* pass);
private:
PASS_COILS* p_tpass;
CMemTrk* p_trk;
};
#endif