ROOT logo
//////////////////////////////////////////////////////////////////////////////
//
// $Id: $
//
//*-- Author  : Witold Przygoda (przygoda@psja1.if.uj.edu.pl)
//*-- Revised : Martin Jurkovic <martin.jurkovic@ph.tum.de> 2010
//
//_HADES_CLASS_DESCRIPTION
//////////////////////////////////////////////////////////////////////////////
//
//  HRichWireTab
//
//  Set of wires parameters.
//
//////////////////////////////////////////////////////////////////////////////


#include "hparamlist.h"
#include "hrichwiretab.h"

#include <iostream>
using namespace std;

ClassImp(HRichWireTab)

HRichWireTab::HRichWireTab()
   : TObject()
{
   clear();
}

HRichWireTab::~HRichWireTab()
{
   clear();
}

void
HRichWireTab::clear()
{
   fDistWire = 0.0;
   fNrWires   = 0;
   fWiresArr.Delete();
}

Bool_t
HRichWireTab::getParams(HParamList* l)
{
   HRichWire* pWire = NULL;

   if (NULL == l) return kFALSE;
   if (kFALSE == l->fill("fDistWire", &fDistWire)) return kFALSE;
   if (kFALSE == l->fill("fNrWires",  &fNrWires))  return kFALSE;
   if (kFALSE == l->fill("fWirePosX", &fWirePosX)) return kFALSE;

   for (Int_t i = 0; i < fNrWires; i++) {
      pWire = new HRichWire;
      if (NULL != pWire) {
         pWire->setWireNr(i);
         pWire->setWireX(fWirePosX[i]);
         addWire(pWire);
      } else {
         Error("getParams", "Pointer to HRichWire == NULL...");
         return kFALSE;
      }
   }

   return kTRUE;
}

void
HRichWireTab::printParams()
{
   cout << "HRichWireTab" << endl;
   cout << "==========================================" << endl;
   cout << "fDistWire             " << fDistWire << endl;
   cout << "fNrWires              " << fNrWires << endl;
   cout << "fWirePosX             " << endl;
   for (Int_t i = 0; i < fNrWires; ++i) {
      cout << fWirePosX[i] << " ";
      if (9 == (i % 10)) {
         cout << endl;
      }
   }
   cout << endl << endl;
}

void
HRichWireTab::putParams(HParamList* l)
{
   if (NULL == l) return;
   l->add("fDistWire", fDistWire);
   l->add("fNrWires",  fNrWires);
   l->add("fWirePosX", fWirePosX);
}

HRichWire*
HRichWireTab::getWire(Int_t n)
{
   if ((n < 0) || (n >= fNrWires)) {
      return NULL;
   }

   return static_cast<HRichWire*>(fWiresArr.At(n));
}

Int_t
HRichWireTab::setWire(HRichWire* pWire, Int_t n)
{
   if ((n < 0) || (n >= fNrWires)) {
      return 0;
   }
   delete fWiresArr.At(n);
   fWiresArr.AddAt(pWire, n);

   return 1;
}
 hrichwiretab.cc:1
 hrichwiretab.cc:2
 hrichwiretab.cc:3
 hrichwiretab.cc:4
 hrichwiretab.cc:5
 hrichwiretab.cc:6
 hrichwiretab.cc:7
 hrichwiretab.cc:8
 hrichwiretab.cc:9
 hrichwiretab.cc:10
 hrichwiretab.cc:11
 hrichwiretab.cc:12
 hrichwiretab.cc:13
 hrichwiretab.cc:14
 hrichwiretab.cc:15
 hrichwiretab.cc:16
 hrichwiretab.cc:17
 hrichwiretab.cc:18
 hrichwiretab.cc:19
 hrichwiretab.cc:20
 hrichwiretab.cc:21
 hrichwiretab.cc:22
 hrichwiretab.cc:23
 hrichwiretab.cc:24
 hrichwiretab.cc:25
 hrichwiretab.cc:26
 hrichwiretab.cc:27
 hrichwiretab.cc:28
 hrichwiretab.cc:29
 hrichwiretab.cc:30
 hrichwiretab.cc:31
 hrichwiretab.cc:32
 hrichwiretab.cc:33
 hrichwiretab.cc:34
 hrichwiretab.cc:35
 hrichwiretab.cc:36
 hrichwiretab.cc:37
 hrichwiretab.cc:38
 hrichwiretab.cc:39
 hrichwiretab.cc:40
 hrichwiretab.cc:41
 hrichwiretab.cc:42
 hrichwiretab.cc:43
 hrichwiretab.cc:44
 hrichwiretab.cc:45
 hrichwiretab.cc:46
 hrichwiretab.cc:47
 hrichwiretab.cc:48
 hrichwiretab.cc:49
 hrichwiretab.cc:50
 hrichwiretab.cc:51
 hrichwiretab.cc:52
 hrichwiretab.cc:53
 hrichwiretab.cc:54
 hrichwiretab.cc:55
 hrichwiretab.cc:56
 hrichwiretab.cc:57
 hrichwiretab.cc:58
 hrichwiretab.cc:59
 hrichwiretab.cc:60
 hrichwiretab.cc:61
 hrichwiretab.cc:62
 hrichwiretab.cc:63
 hrichwiretab.cc:64
 hrichwiretab.cc:65
 hrichwiretab.cc:66
 hrichwiretab.cc:67
 hrichwiretab.cc:68
 hrichwiretab.cc:69
 hrichwiretab.cc:70
 hrichwiretab.cc:71
 hrichwiretab.cc:72
 hrichwiretab.cc:73
 hrichwiretab.cc:74
 hrichwiretab.cc:75
 hrichwiretab.cc:76
 hrichwiretab.cc:77
 hrichwiretab.cc:78
 hrichwiretab.cc:79
 hrichwiretab.cc:80
 hrichwiretab.cc:81
 hrichwiretab.cc:82
 hrichwiretab.cc:83
 hrichwiretab.cc:84
 hrichwiretab.cc:85
 hrichwiretab.cc:86
 hrichwiretab.cc:87
 hrichwiretab.cc:88
 hrichwiretab.cc:89
 hrichwiretab.cc:90
 hrichwiretab.cc:91
 hrichwiretab.cc:92
 hrichwiretab.cc:93
 hrichwiretab.cc:94
 hrichwiretab.cc:95
 hrichwiretab.cc:96
 hrichwiretab.cc:97
 hrichwiretab.cc:98
 hrichwiretab.cc:99
 hrichwiretab.cc:100
 hrichwiretab.cc:101
 hrichwiretab.cc:102
 hrichwiretab.cc:103
 hrichwiretab.cc:104
 hrichwiretab.cc:105
 hrichwiretab.cc:106
 hrichwiretab.cc:107
 hrichwiretab.cc:108
 hrichwiretab.cc:109
 hrichwiretab.cc:110
 hrichwiretab.cc:111
 hrichwiretab.cc:112
 hrichwiretab.cc:113
 hrichwiretab.cc:114
 hrichwiretab.cc:115
 hrichwiretab.cc:116