| 1 |
/* --------------------------------------------------------------------- */ |
| 2 |
/* NeuroManager - A spike train analysis tool */ |
| 3 |
/* Copyright (c) 2005-2006 RIKEN, Japan. All rights reserved. */ |
| 4 |
/* http://satellite.sourceforge.jp/ */ |
| 5 |
/* --------------------------------------------------------------------- */ |
| 6 |
/* This program is free software; you can redistribute it and/or */ |
| 7 |
/* modify it under the terms of the GNU General Public License */ |
| 8 |
/* as published by the Free Software Foundation; either version 2 */ |
| 9 |
/* of the License, or (at your option) any later version. */ |
| 10 |
/* */ |
| 11 |
/* This program is distributed in the hope that it will be useful, */ |
| 12 |
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ |
| 13 |
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ |
| 14 |
/* GNU General Public License for more details. */ |
| 15 |
/* */ |
| 16 |
/* You should have received a copy of the GNU General Public License */ |
| 17 |
/* along with this program; see the file COPYING.txt. If not, write */ |
| 18 |
/* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth */ |
| 19 |
/* Floor, Boston, MA 02110-1301, USA. */ |
| 20 |
/* --------------------------------------------------------------------- */ |
| 21 |
|
| 22 |
/* $Id: SpikeData.h,v 1.1 2006/02/02 07:33:27 orrisroot Exp $ */ |
| 23 |
|
| 24 |
// SpikeData.h : interface of the CSpikeData class |
| 25 |
// |
| 26 |
|
| 27 |
class CSpikeData |
| 28 |
{ |
| 29 |
private: |
| 30 |
CMultiChannelData *m_pMCData; // linked multi channel data |
| 31 |
int m_iChannelNumber; // target channel number of multi channel data |
| 32 |
UINT m_uDataSize; // number of hold spikes |
| 33 |
SIZE_T m_nWidth; // parsed data width (number of data point) |
| 34 |
double **m_pdData; // parsed data array |
| 35 |
QWORD *m_pqwDataPos; // parsed data position array |
| 36 |
BOOL m_bSorted; // flag for sorting |
| 37 |
int *m_piComponent; // clustered component number (after sorting) |
| 38 |
public: |
| 39 |
CSpikeData(); |
| 40 |
~CSpikeData(); |
| 41 |
int GetChannelNumber(); |
| 42 |
UINT GetSize(); |
| 43 |
SIZE_T GetWidth(); |
| 44 |
QWORD GetDataPos( UINT num ); |
| 45 |
double **GetParsedData(); |
| 46 |
BOOL Initialize( CMultiChannelData *pMCData, UINT ch ); |
| 47 |
BOOL SetWidth( SIZE_T width ); |
| 48 |
BOOL AddSpike( QWORD pos ); |
| 49 |
}; |