Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

StDbElementIndex Class Reference

#include <StDbElementIndex.hh>

List of all members.

Public Member Functions

 StDbElementIndex ()
 StDbElementIndex (StDbElementIndex &inval)
virtual ~StDbElementIndex ()
virtual void clearIndex ()
virtual void addElementIndex (StDbElementIndex *inval)
virtual int addNameValuePair (const char *name, int ival)
virtual int getNumIndeces () const
virtual int getIndexVal (int indexNumber)
virtual char * getIndexName (int indexNumber)
virtual char * printIndexName (int indexNumber)
virtual void resetCounter ()
virtual char * getNextIndex (int &indexVal)
virtual char * printNextIndex (int &indexVal)

Private Attributes

int mnumIndeces
indexNameVals mnvals [N_MAX_INDEXVALS]
int mcurrent


Constructor & Destructor Documentation

StDbElementIndex::StDbElementIndex  ) 
 

Definition at line 35 of file StDbElementIndex.cc.

00035 { clearIndex(); };

StDbElementIndex::StDbElementIndex StDbElementIndex inval  ) 
 

Definition at line 37 of file StDbElementIndex.cc.

00037 { 00038 00039 clearIndex(); 00040 mnumIndeces = inval.getNumIndeces(); 00041 inval.resetCounter(); 00042 char* ctest; 00043 int ival; 00044 while ( (ctest=inval.printNextIndex(ival)) ){ 00045 strcpy(mnvals[mcurrent].iname,ctest); 00046 mnvals[mcurrent].ival = ival; 00047 mcurrent++; 00048 } 00049 resetCounter(); 00050 inval.resetCounter(); 00051 }

virtual StDbElementIndex::~StDbElementIndex  )  [inline, virtual]
 

Definition at line 55 of file StDbElementIndex.hh.

00055 {};


Member Function Documentation

void StDbElementIndex::addElementIndex StDbElementIndex inval  )  [virtual]
 

Definition at line 55 of file StDbElementIndex.cc.

00055 { 00056 00057 if(!inval) return; 00058 clearIndex(); 00059 mnumIndeces = inval->getNumIndeces(); 00060 inval->resetCounter(); 00061 char* ctest; 00062 int ival; 00063 while ( (ctest=inval->printNextIndex(ival))){ 00064 strcpy(mnvals[mcurrent].iname,ctest); 00065 mnvals[mcurrent].ival = ival; 00066 mcurrent++; 00067 } 00068 00069 resetCounter(); 00070 inval->resetCounter(); 00071 00072 }

int StDbElementIndex::addNameValuePair const char *  name,
int  ival
[virtual]
 

Definition at line 76 of file StDbElementIndex.cc.

00076 { 00077 00078 strcpy(mnvals[mnumIndeces].iname,name); 00079 mnvals[mnumIndeces].ival = ival; 00080 int retVal=mnumIndeces; 00081 mnumIndeces++; 00082 return retVal; 00083 };

void StDbElementIndex::clearIndex  )  [inline, virtual]
 

Definition at line 72 of file StDbElementIndex.hh.

00072 { 00073 mcurrent=0; mnumIndeces=0; 00074 memset(&mnvals,0,N_MAX_INDEXVALS*sizeof(indexNameVals)); 00075 }

char * StDbElementIndex::getIndexName int  indexNumber  )  [virtual]
 

Definition at line 88 of file StDbElementIndex.cc.

00088 { 00089 char* retVal=0; 00090 if(indexNumber<mnumIndeces){ 00091 retVal = new char[strlen((char*)mnvals[indexNumber].iname)+1]; 00092 strcpy(retVal,(char*)mnvals[indexNumber].iname); 00093 } 00094 return retVal; 00095 }

int StDbElementIndex::getIndexVal int  indexNumber  )  [inline, virtual]
 

Definition at line 78 of file StDbElementIndex.hh.

00078 { 00079 if(indexNum>=N_MAX_INDEXVALS)return -1; 00080 return mnvals[indexNum].ival; 00081 }

char * StDbElementIndex::getNextIndex int &  indexVal  )  [virtual]
 

Definition at line 100 of file StDbElementIndex.cc.

00100 { 00101 char* retVal=0; 00102 if(mcurrent<mnumIndeces){ 00103 retVal = new char[strlen((char*)mnvals[mcurrent].iname)+1]; 00104 strcpy(retVal,(char*)mnvals[mcurrent].iname); 00105 indexVal=mnvals[mcurrent].ival; 00106 mcurrent++; 00107 } 00108 return retVal; 00109 }

int StDbElementIndex::getNumIndeces  )  const [inline, virtual]
 

Definition at line 76 of file StDbElementIndex.hh.

00076 { return mnumIndeces; }

char * StDbElementIndex::printIndexName int  indexNumber  )  [inline, virtual]
 

Definition at line 82 of file StDbElementIndex.hh.

00082 { 00083 if(indexNum>=N_MAX_INDEXVALS)return (char*)0; 00084 return (char*)mnvals[indexNum].iname; 00085 }

char * StDbElementIndex::printNextIndex int &  indexVal  )  [virtual]
 

Definition at line 113 of file StDbElementIndex.cc.

00113 { 00114 char* retVal=0; 00115 if(mcurrent<mnumIndeces){ 00116 retVal = (char*)mnvals[mcurrent].iname; 00117 indexVal=mnvals[mcurrent].ival; 00118 mcurrent++; 00119 } 00120 return retVal; 00121 }

void StDbElementIndex::resetCounter  )  [inline, virtual]
 

Definition at line 86 of file StDbElementIndex.hh.

00086 { mcurrent=0; }


Member Data Documentation

int StDbElementIndex::mcurrent [private]
 

Definition at line 49 of file StDbElementIndex.hh.

int StDbElementIndex::mnumIndeces [private]
 

Definition at line 47 of file StDbElementIndex.hh.

indexNameVals StDbElementIndex::mnvals[N_MAX_INDEXVALS] [private]
 

Definition at line 48 of file StDbElementIndex.hh.


The documentation for this class was generated from the following files:
Generated on Thu Aug 24 14:45:53 2006 for Doxygen by doxygen 1.3.7