ROOT logo
//////////////////////////////////////////////////////////////////////////////
//
// $Id: $
//
//*-- Author  : RICH team member
//*-- Revised : Martin Jurkovic <martin.jurkovic@ph.tum.de> 2010
//
//_HADES_CLASS_DESCRIPTION
//////////////////////////////////////////////////////////////////////////////
//
//  HRichDigitisationPar
//
//
//////////////////////////////////////////////////////////////////////////////


#include "hparamlist.h"
#include "hrichdigitisationpar.h"

#include <iostream>

using namespace std;

ClassImp(HRichDigitisationPar)


HRichDigitisationPar::HRichDigitisationPar(const Char_t* name, const Char_t* title,
                                           const Char_t* context)
   : HParCond(name, title, context)
{
   clear();
}


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


void HRichDigitisationPar::clear()
{
   fElectronsNr      = 0.0;
   fSigmaValue       = 0.;
   fIncreaseNoise    = 0.;
   fChargePerChannel = 0.;
   fChargeScaling    = 1.0;
   fQupper           = 0.0;
   fFactor1          = 0.;
   fFactor2          = 0.;
   fFactor1Sig       = 0.;
   fFactor2Sig       = 0.;
   fParameter1       = 0.;
   fParameter2       = 0.;
   fBinsNr           = 0;
   fExpSlope.Reset();
   fPhotonLen.Reset();
   fPhotonEff.Reset();

   for (Int_t i = 0; i < 6; i++) {
      corrSec[i].Reset();
   }
}
/*
HRichDigitisationPar::HRichDigitisationPar(const HRichDigitisationPar& source)
{
   Error("HRichDigitisationPar", "Object can not be initialized with values of another object!");
   Error("HRichDigitisationPar", "Default constructor will be called.");
   HRichDigitisationPar();
}


HRichDigitisationPar& HRichDigitisationPar::operator=(const HRichDigitisationPar& source)
{
   if (this != &source) {
      Error("operator=", "HRichDigitisationPar object can not be assigned!");
      Error("operator=", "Default constructor will be called.");
      HRichDigitisationPar();
   }
   return *this;
}
*/
void HRichDigitisationPar::printParams()
{

   Info("printParams", "RICH DIGITISATION PARAMETERS");

   cout << " Mean number of electrons / keV.............." << fElectronsNr << endl;
   cout << " Charge [e] per one channel.................." << fChargePerChannel << endl;
   cout << " Sigma Value used for Threshold [ADC chan]..." << fSigmaValue << endl;
   cout << " fElectronsNr................................" << fElectronsNr << endl;
   cout << " fSigmaValue................................." << fSigmaValue << endl;
   cout << " fIncreaseNoise.............................." << fIncreaseNoise << endl;
   cout << " fChargePerChannel..........................." << fChargePerChannel << endl;
   cout << " fQupper....................................." << fQupper << endl;
   cout << " fParameter1................................." << fParameter1 << endl;
   cout << " fParameter2................................." << fParameter2 << endl;
   cout << " fFactor1...................................." << fFactor1 << endl;
   cout << " fFactor2...................................." << fFactor2 << endl;
   cout << " fFactor1Sig................................." << fFactor1Sig << endl;
   cout << " fFactor2Sig................................." << fFactor2Sig << endl;
   cout << " fBinsNr....................................." << fBinsNr << endl;
   cout << " fChargeScaling.............................." << fChargeScaling << endl;

   cout << " fPhotonLen ";
   for (Int_t i = 0; i < fPhotonLen.GetSize(); ++i) {
      cout << fPhotonLen[i] << "  ";
   }
   cout << endl;
   cout << " fPhotonEff ";
   for (Int_t i = 0; i < fPhotonEff.GetSize(); ++i) {
      cout << fPhotonEff[i] << "  ";
   }
   cout << endl;
   cout << " fExpSlope ";
   for (Int_t i = 0; i < fExpSlope.GetSize(); ++i) {
      cout << fExpSlope[i] << "  ";
   }
   cout << endl;
   cout << "  Correction  sector 0:  ";
   for (Int_t i = 0; i < 18; i++) {
      cout << corrSec[0][i] << "  ";
   }
   cout << endl;
   cout << "  Correction  sector 1:  ";
   for (Int_t i = 0; i < 18; i++) {
      cout << corrSec[1][i] << "  ";
   }
   cout << endl;
   cout << "  Correction  sector 2:  ";
   for (Int_t i = 0; i < 18; i++) {
      cout << corrSec[2][i] << "  ";
   }
   cout << endl;
   cout << "  Correction  sector 3:  ";
   for (Int_t i = 0; i < 18; i++) {
      cout << corrSec[3][i] << "  ";
   }
   cout << endl;
   cout << "  Correction  sector 4:  ";
   for (Int_t i = 0; i < 18; i++) {
      cout << corrSec[4][i] << "  ";
   }
   cout << endl;
   cout << "  Correction  sector 5:  ";
   for (Int_t i = 0; i < 18; i++) {
      cout << corrSec[5][i] << "  ";
   }
   cout << endl;
}
//============================================================================

void HRichDigitisationPar::putParams(HParamList* l)
{
   if (!l) return;
   l->add("fElectronsNr",      fElectronsNr);
   l->add("fSigmaValue",       fSigmaValue);
   l->add("fIncreaseNoise",    fIncreaseNoise);
   l->add("fChargePerChannel", fChargePerChannel);
   l->add("fQupper",           fQupper);
   l->add("fParameter1",       fParameter1);
   l->add("fParameter2",       fParameter2);
   l->add("fFactor1",          fFactor1);
   l->add("fFactor2",          fFactor2);
   l->add("fFactor1Sig",       fFactor1Sig);
   l->add("fFactor2Sig",       fFactor2Sig);
   l->add("fExpSlope",         fExpSlope);
   l->add("fChargeScaling",    fChargeScaling);
   l->add("fBinsNr",           fBinsNr);
   l->add("fPhotonLen",        fPhotonLen);
   l->add("fPhotonEff",        fPhotonEff);
   l->add("corrSec0",          corrSec[0]);
   l->add("corrSec1",          corrSec[1]);
   l->add("corrSec2",          corrSec[2]);
   l->add("corrSec3",          corrSec[3]);
   l->add("corrSec4",          corrSec[4]);
   l->add("corrSec5",          corrSec[5]);

}
//============================================================================

Bool_t HRichDigitisationPar::getParams(HParamList* l)
{
   if (!l) return kFALSE;
   if (!l->fill("fElectronsNr",      &fElectronsNr))      return kFALSE;
   if (!l->fill("fSigmaValue",       &fSigmaValue))       return kFALSE;
   if (!l->fill("fIncreaseNoise",    &fIncreaseNoise))    return kFALSE;
   if (!l->fill("fChargePerChannel", &fChargePerChannel)) return kFALSE;
   if (!l->fill("fQupper",           &fQupper))           return kFALSE;
   if (!l->fill("fParameter1",       &fParameter1))       return kFALSE;
   if (!l->fill("fParameter2",       &fParameter2))       return kFALSE;
   if (!l->fill("fFactor1",          &fFactor1))          return kFALSE;
   if (!l->fill("fFactor2",          &fFactor2))          return kFALSE;
   if (!l->fill("fFactor1Sig",       &fFactor1Sig))       return kFALSE;
   if (!l->fill("fFactor2Sig",       &fFactor2Sig))       return kFALSE;
   if (!l->fill("fExpSlope",         &fExpSlope))         return kFALSE;
   if (!l->fill("fChargeScaling",    &fChargeScaling))    return kFALSE;
   if (!l->fill("fBinsNr",           &fBinsNr))           return kFALSE;
   if (!l->fill("fPhotonLen",        &fPhotonLen))        return kFALSE;
   if (!l->fill("fPhotonEff",        &fPhotonEff))        return kFALSE;
   if (!l->fill("corrSec0",          &corrSec[0]))        return kFALSE;
   if (!l->fill("corrSec1",          &corrSec[1]))        return kFALSE;
   if (!l->fill("corrSec2",          &corrSec[2]))        return kFALSE;
   if (!l->fill("corrSec3",          &corrSec[3]))        return kFALSE;
   if (!l->fill("corrSec4",          &corrSec[4]))        return kFALSE;
   if (!l->fill("corrSec5",          &corrSec[5]))        return kFALSE;

#if DEBUG_LEVEL > 0
   printParams();
#endif

   return kTRUE;
}

void HRichDigitisationPar::Streamer(TBuffer &R__b)
{
   // Stream an object of class HRichDigitisationPar.

   UInt_t R__s, R__c;
   Int_t R__i;
   if (R__b.IsReading()) {
      Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
      if (R__v) { }
      HParCond::Streamer(R__b);
      R__b >> fElectronsNr;
      R__b >> fSigmaValue;
      R__b >> fIncreaseNoise;
      R__b >> fChargePerChannel;
      R__b >> fQupper;
      R__b >> fParameter1;
      R__b >> fParameter2;
      R__b >> fFactor1;
      R__b >> fFactor2;
      R__b >> fFactor1Sig;
      R__b >> fFactor2Sig;
      R__b >> fChargeScaling;
      R__b >> fBinsNr;
      fExpSlope.Streamer(R__b);
      fPhotonLen.Streamer(R__b);
      fPhotonEff.Streamer(R__b);
      for (R__i = 0; R__i < 6; R__i++)
         corrSec[R__i].Streamer(R__b);
      R__b.ReadStaticArray((Char_t*)filename);
      R__b.CheckByteCount(R__s, R__c, HRichDigitisationPar::IsA());
   } else {
      R__c = R__b.WriteVersion(HRichDigitisationPar::IsA(), kTRUE);
      HParCond::Streamer(R__b);
      R__b << fElectronsNr;
      R__b << fSigmaValue;
      R__b << fIncreaseNoise;
      R__b << fChargePerChannel;
      R__b << fQupper;
      R__b << fParameter1;
      R__b << fParameter2;
      R__b << fFactor1;
      R__b << fFactor2;
      R__b << fFactor1Sig;
      R__b << fFactor2Sig;
      R__b << fChargeScaling;
      R__b << fBinsNr;
      fExpSlope.Streamer(R__b);
      fPhotonLen.Streamer(R__b);
      fPhotonEff.Streamer(R__b);
      for (R__i = 0; R__i < 6; R__i++)
         corrSec[R__i].Streamer(R__b);
      R__b.WriteArray(filename, 40);
      R__b.SetByteCount(R__c, kTRUE);
   }
}

 hrichdigitisationpar.cc:1
 hrichdigitisationpar.cc:2
 hrichdigitisationpar.cc:3
 hrichdigitisationpar.cc:4
 hrichdigitisationpar.cc:5
 hrichdigitisationpar.cc:6
 hrichdigitisationpar.cc:7
 hrichdigitisationpar.cc:8
 hrichdigitisationpar.cc:9
 hrichdigitisationpar.cc:10
 hrichdigitisationpar.cc:11
 hrichdigitisationpar.cc:12
 hrichdigitisationpar.cc:13
 hrichdigitisationpar.cc:14
 hrichdigitisationpar.cc:15
 hrichdigitisationpar.cc:16
 hrichdigitisationpar.cc:17
 hrichdigitisationpar.cc:18
 hrichdigitisationpar.cc:19
 hrichdigitisationpar.cc:20
 hrichdigitisationpar.cc:21
 hrichdigitisationpar.cc:22
 hrichdigitisationpar.cc:23
 hrichdigitisationpar.cc:24
 hrichdigitisationpar.cc:25
 hrichdigitisationpar.cc:26
 hrichdigitisationpar.cc:27
 hrichdigitisationpar.cc:28
 hrichdigitisationpar.cc:29
 hrichdigitisationpar.cc:30
 hrichdigitisationpar.cc:31
 hrichdigitisationpar.cc:32
 hrichdigitisationpar.cc:33
 hrichdigitisationpar.cc:34
 hrichdigitisationpar.cc:35
 hrichdigitisationpar.cc:36
 hrichdigitisationpar.cc:37
 hrichdigitisationpar.cc:38
 hrichdigitisationpar.cc:39
 hrichdigitisationpar.cc:40
 hrichdigitisationpar.cc:41
 hrichdigitisationpar.cc:42
 hrichdigitisationpar.cc:43
 hrichdigitisationpar.cc:44
 hrichdigitisationpar.cc:45
 hrichdigitisationpar.cc:46
 hrichdigitisationpar.cc:47
 hrichdigitisationpar.cc:48
 hrichdigitisationpar.cc:49
 hrichdigitisationpar.cc:50
 hrichdigitisationpar.cc:51
 hrichdigitisationpar.cc:52
 hrichdigitisationpar.cc:53
 hrichdigitisationpar.cc:54
 hrichdigitisationpar.cc:55
 hrichdigitisationpar.cc:56
 hrichdigitisationpar.cc:57
 hrichdigitisationpar.cc:58
 hrichdigitisationpar.cc:59
 hrichdigitisationpar.cc:60
 hrichdigitisationpar.cc:61
 hrichdigitisationpar.cc:62
 hrichdigitisationpar.cc:63
 hrichdigitisationpar.cc:64
 hrichdigitisationpar.cc:65
 hrichdigitisationpar.cc:66
 hrichdigitisationpar.cc:67
 hrichdigitisationpar.cc:68
 hrichdigitisationpar.cc:69
 hrichdigitisationpar.cc:70
 hrichdigitisationpar.cc:71
 hrichdigitisationpar.cc:72
 hrichdigitisationpar.cc:73
 hrichdigitisationpar.cc:74
 hrichdigitisationpar.cc:75
 hrichdigitisationpar.cc:76
 hrichdigitisationpar.cc:77
 hrichdigitisationpar.cc:78
 hrichdigitisationpar.cc:79
 hrichdigitisationpar.cc:80
 hrichdigitisationpar.cc:81
 hrichdigitisationpar.cc:82
 hrichdigitisationpar.cc:83
 hrichdigitisationpar.cc:84
 hrichdigitisationpar.cc:85
 hrichdigitisationpar.cc:86
 hrichdigitisationpar.cc:87
 hrichdigitisationpar.cc:88
 hrichdigitisationpar.cc:89
 hrichdigitisationpar.cc:90
 hrichdigitisationpar.cc:91
 hrichdigitisationpar.cc:92
 hrichdigitisationpar.cc:93
 hrichdigitisationpar.cc:94
 hrichdigitisationpar.cc:95
 hrichdigitisationpar.cc:96
 hrichdigitisationpar.cc:97
 hrichdigitisationpar.cc:98
 hrichdigitisationpar.cc:99
 hrichdigitisationpar.cc:100
 hrichdigitisationpar.cc:101
 hrichdigitisationpar.cc:102
 hrichdigitisationpar.cc:103
 hrichdigitisationpar.cc:104
 hrichdigitisationpar.cc:105
 hrichdigitisationpar.cc:106
 hrichdigitisationpar.cc:107
 hrichdigitisationpar.cc:108
 hrichdigitisationpar.cc:109
 hrichdigitisationpar.cc:110
 hrichdigitisationpar.cc:111
 hrichdigitisationpar.cc:112
 hrichdigitisationpar.cc:113
 hrichdigitisationpar.cc:114
 hrichdigitisationpar.cc:115
 hrichdigitisationpar.cc:116
 hrichdigitisationpar.cc:117
 hrichdigitisationpar.cc:118
 hrichdigitisationpar.cc:119
 hrichdigitisationpar.cc:120
 hrichdigitisationpar.cc:121
 hrichdigitisationpar.cc:122
 hrichdigitisationpar.cc:123
 hrichdigitisationpar.cc:124
 hrichdigitisationpar.cc:125
 hrichdigitisationpar.cc:126
 hrichdigitisationpar.cc:127
 hrichdigitisationpar.cc:128
 hrichdigitisationpar.cc:129
 hrichdigitisationpar.cc:130
 hrichdigitisationpar.cc:131
 hrichdigitisationpar.cc:132
 hrichdigitisationpar.cc:133
 hrichdigitisationpar.cc:134
 hrichdigitisationpar.cc:135
 hrichdigitisationpar.cc:136
 hrichdigitisationpar.cc:137
 hrichdigitisationpar.cc:138
 hrichdigitisationpar.cc:139
 hrichdigitisationpar.cc:140
 hrichdigitisationpar.cc:141
 hrichdigitisationpar.cc:142
 hrichdigitisationpar.cc:143
 hrichdigitisationpar.cc:144
 hrichdigitisationpar.cc:145
 hrichdigitisationpar.cc:146
 hrichdigitisationpar.cc:147
 hrichdigitisationpar.cc:148
 hrichdigitisationpar.cc:149
 hrichdigitisationpar.cc:150
 hrichdigitisationpar.cc:151
 hrichdigitisationpar.cc:152
 hrichdigitisationpar.cc:153
 hrichdigitisationpar.cc:154
 hrichdigitisationpar.cc:155
 hrichdigitisationpar.cc:156
 hrichdigitisationpar.cc:157
 hrichdigitisationpar.cc:158
 hrichdigitisationpar.cc:159
 hrichdigitisationpar.cc:160
 hrichdigitisationpar.cc:161
 hrichdigitisationpar.cc:162
 hrichdigitisationpar.cc:163
 hrichdigitisationpar.cc:164
 hrichdigitisationpar.cc:165
 hrichdigitisationpar.cc:166
 hrichdigitisationpar.cc:167
 hrichdigitisationpar.cc:168
 hrichdigitisationpar.cc:169
 hrichdigitisationpar.cc:170
 hrichdigitisationpar.cc:171
 hrichdigitisationpar.cc:172
 hrichdigitisationpar.cc:173
 hrichdigitisationpar.cc:174
 hrichdigitisationpar.cc:175
 hrichdigitisationpar.cc:176
 hrichdigitisationpar.cc:177
 hrichdigitisationpar.cc:178
 hrichdigitisationpar.cc:179
 hrichdigitisationpar.cc:180
 hrichdigitisationpar.cc:181
 hrichdigitisationpar.cc:182
 hrichdigitisationpar.cc:183
 hrichdigitisationpar.cc:184
 hrichdigitisationpar.cc:185
 hrichdigitisationpar.cc:186
 hrichdigitisationpar.cc:187
 hrichdigitisationpar.cc:188
 hrichdigitisationpar.cc:189
 hrichdigitisationpar.cc:190
 hrichdigitisationpar.cc:191
 hrichdigitisationpar.cc:192
 hrichdigitisationpar.cc:193
 hrichdigitisationpar.cc:194
 hrichdigitisationpar.cc:195
 hrichdigitisationpar.cc:196
 hrichdigitisationpar.cc:197
 hrichdigitisationpar.cc:198
 hrichdigitisationpar.cc:199
 hrichdigitisationpar.cc:200
 hrichdigitisationpar.cc:201
 hrichdigitisationpar.cc:202
 hrichdigitisationpar.cc:203
 hrichdigitisationpar.cc:204
 hrichdigitisationpar.cc:205
 hrichdigitisationpar.cc:206
 hrichdigitisationpar.cc:207
 hrichdigitisationpar.cc:208
 hrichdigitisationpar.cc:209
 hrichdigitisationpar.cc:210
 hrichdigitisationpar.cc:211
 hrichdigitisationpar.cc:212
 hrichdigitisationpar.cc:213
 hrichdigitisationpar.cc:214
 hrichdigitisationpar.cc:215
 hrichdigitisationpar.cc:216
 hrichdigitisationpar.cc:217
 hrichdigitisationpar.cc:218
 hrichdigitisationpar.cc:219
 hrichdigitisationpar.cc:220
 hrichdigitisationpar.cc:221
 hrichdigitisationpar.cc:222
 hrichdigitisationpar.cc:223
 hrichdigitisationpar.cc:224
 hrichdigitisationpar.cc:225
 hrichdigitisationpar.cc:226
 hrichdigitisationpar.cc:227
 hrichdigitisationpar.cc:228
 hrichdigitisationpar.cc:229
 hrichdigitisationpar.cc:230
 hrichdigitisationpar.cc:231
 hrichdigitisationpar.cc:232
 hrichdigitisationpar.cc:233
 hrichdigitisationpar.cc:234
 hrichdigitisationpar.cc:235
 hrichdigitisationpar.cc:236
 hrichdigitisationpar.cc:237
 hrichdigitisationpar.cc:238
 hrichdigitisationpar.cc:239
 hrichdigitisationpar.cc:240
 hrichdigitisationpar.cc:241
 hrichdigitisationpar.cc:242
 hrichdigitisationpar.cc:243
 hrichdigitisationpar.cc:244
 hrichdigitisationpar.cc:245
 hrichdigitisationpar.cc:246
 hrichdigitisationpar.cc:247
 hrichdigitisationpar.cc:248
 hrichdigitisationpar.cc:249
 hrichdigitisationpar.cc:250
 hrichdigitisationpar.cc:251
 hrichdigitisationpar.cc:252
 hrichdigitisationpar.cc:253
 hrichdigitisationpar.cc:254
 hrichdigitisationpar.cc:255
 hrichdigitisationpar.cc:256
 hrichdigitisationpar.cc:257
 hrichdigitisationpar.cc:258
 hrichdigitisationpar.cc:259
 hrichdigitisationpar.cc:260
 hrichdigitisationpar.cc:261
 hrichdigitisationpar.cc:262
 hrichdigitisationpar.cc:263
 hrichdigitisationpar.cc:264
 hrichdigitisationpar.cc:265
 hrichdigitisationpar.cc:266
 hrichdigitisationpar.cc:267
 hrichdigitisationpar.cc:268
 hrichdigitisationpar.cc:269
 hrichdigitisationpar.cc:270