WaveRDC


class description - source file - inheritance tree

class WaveRDC : public WaveData

    private:
int Pop(int*, int, int&, int, int) void Pop(unsigned int&, int&, int) void Push(unsigned int&, unsigned int*, int&, int) int Push(int*, int, unsigned int*, int&, int, int) int wabs(int& i) public:
WaveRDC WaveRDC() WaveRDC WaveRDC(WaveRDC&) virtual void ~WaveRDC() static TClass* Class() int Compress(const WaveData&, bool fast = false) void Dir(int v = 1) virtual int DumpZ(const char*, int = 0) virtual TClass* IsA() const WaveRDC& operator+=(const WaveRDC* a) WaveRDC& operator+=(const WaveRDC& a) WaveRDC& operator=(const WaveRDC* a) WaveRDC& operator=(const WaveRDC& a) void ResizeZ(int n) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) int unCompress(WaveData&, int level = 1)

Data Members

private:
int Nlsw number of 32-bits layer service words (lsw) int freebits free bits in the last word of current block int kl current layer encoding bit length for large integers int ks current layer encoding bit length for small integers int kbsw length of the Block Service Word short Shift current layer shift subtracted from original data short zero number that encodes 0; public:
int NL number of layers in comressed array dataz int NZ number of elements in comressed array dataz int optz current layer compression options unsigned int* dataz compressed data array

Class Description

 WaveRDC class is the class for compressed data
 structures and methods.

WaveRDC():WaveData()
 Default constructor

~WaveRDC()
 Destructor

void Dir(int v)
 Lists layers stored in compressed array,
 "v" - is verbosity level, =0 by default.

void ResizeZ(int n)
 Resizes dataz array of object to new length NZ = n.

int DumpZ(const char *fname, int app)
 Dumps dataz array to file *fname in binary format and type "short".
 Variable 'app' select write mode, app=0 - write new file,
 app=1 - append to existent file.

int Compress(const WaveData &wd, bool fast)
 Compress packs data into layer which is series of blocks each
 consisting of bricks of two different length 'kl' and 'ks'. Each
 brick represents one element of original unpacked data
 (16-bit integer) which is shortened to exclude redundant bits.
 Original data are taken from object wd. Packed data are
 placed into array 'dataz'. Returns number of bytes
 occupied by compressed data.

void Push(unsigned int &u, unsigned int *cd, int &ncd, int k)
 Push takes unsigned int u  and packs it as a word k-bit leng
 into the compressed data array "cd".
 ncd counts the # of unsigned int words filled with compressed data.

int unCompress(WaveData &w, int m = 1)
 Unpacks data from the layer 'm' which is series of blocks each
 consisting from bricks of two different length 'zl' and 'zs'.
 Each brick represents one element of original unpacked data
 (16-bit integer) which is shortened to exclude redundant bits.
 Returns number of bytes occupied by unpacked data.

void Pop(unsigned int &u, int &ncd, int k)
 Pop unpacks one element of dataz. ncd - current position in the array
 freebits - number of unpacked bits in dataz[ncd]

int Pop(int *dt, int j, int &ncd, int k, int n)
 Pop unpacks "n" elements of data which are stored in compressed
 array "dataz" as a series of "n" words of k-bit length. Puts
 unpacked data to integer array "dt" and returns number of words decoded

void Streamer(TBuffer &b)
 Stream a WaveRDC object. Required by ROOT system for
 reading and writing the object to file.



Inline Functions


               void Push(unsigned int&, unsigned int*, int&, int)
                int wabs(int& i)
           WaveRDC& operator=(const WaveRDC& a)
           WaveRDC& operator=(const WaveRDC* a)
           WaveRDC& operator+=(const WaveRDC& a)
           WaveRDC& operator+=(const WaveRDC* a)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
            WaveRDC WaveRDC(WaveRDC&)


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.