#include "VSignalManager.h"

ClassImp(VSignalManager)

VSignalManager* gSignalManager=0;

VSignalManager::VSignalManager()
{
   mTable = new THashTable(0,3);
}

 void VSignalManager::Grow(FrVect* vect)
{
   VFrVectObject* vfr0;
   VFrVectObject* vfr = new VFrVectObject(vect);
   vfr0 = (VFrVectObject*)mTable->FindObject(vfr);
   if (!vfr0) {
      printf("Add frvect 0x%x\n",(unsigned int)vfr->GetFrVect());
      mTable->Add(vfr);
   } else {
      printf("Inc count for frvect 0x%x\n",(unsigned int)vfr->GetFrVect());
      vfr0->IncCount();
      delete vfr;
   }
}

 void VSignalManager::Shrink(FrVect* vect)
{
   VFrVectObject* vfr0;
   VFrVectObject* vfr = new VFrVectObject(vect);
   vfr0 = (VFrVectObject*)mTable->FindObject(vfr);
   if (vfr0) {
      vfr0->DecCount();
      if (vfr0->GetCount() == 0) {
         vfr0->Delete();
         printf("deleted signal\n");
         mTable->Remove(vfr0);
         delete vfr0;
      }
   }
   delete vfr;
}

 void VSignalManager::Release(FrVect* vect)
{
   VFrVectObject* vfr0;
   VFrVectObject* vfr = new VFrVectObject(vect);
   vfr0 = (VFrVectObject*)mTable->FindObject(vfr);
   if (vfr0) {
      mTable->Remove(vfr0);
      delete vfr0;
   }
   delete vfr;
}

 VFrVectObject* VSignalManager::GetFrVectObject(FrVect* vect)
{
   VFrVectObject* vfr0;
   VFrVectObject* vfr = new VFrVectObject(vect);
   vfr0 = (VFrVectObject*)mTable->FindObject(vfr);
   return vfr0;
}
   


- ROOT page - VEGA 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 , or contact with any questions or problems regarding ROOT or VEGA.