ROOT logo
//////////////////////////////////////////////////////////////////////////////
//
// $Id: $
//
//*-- Author  : Witold Przygoda (przygoda@psja1.if.uj.edu.pl)
//*-- Revised : Martin Jurkovic <martin.jurkovic@ph.tum.de> 2010
//
//_HADES_CLASS_DESCRIPTION
//////////////////////////////////////////////////////////////////////////////
//
//  HRichHit
//
//  Hit candidate container
//
//////////////////////////////////////////////////////////////////////////////


#include "hrichhit.h"

#include "TBuffer.h"

#include <iomanip>
#include <iostream>

using namespace std;

ClassImp(HRichHit)


Int_t HRichHit::iRingImageSize = 0;
HRichHit::HRichHit()
{
   fRich700CircleCenterX = -10000;
   fRich700CircleCenterY = -10000;
   fRich700CircleRadius  = -10000;
   fRich700CircleChi2    = -10000;
   fRich700NofRichCals   = 0;
   initCalIds();

   iRingX = 0;
   iRingY = 0;
   iRingQuality = 0;
   iRingPatMat = 0;
   iRingHouTra = 0;
   iRingPadNr = 0;
   iRingAmplitude = 0;
   iRingLocalMax4 = 0;
   iRingLocalMax8 = 0;
   iRingClusterNr = 0;
   iRingImageSize = 0;
   iRingAlgorithmIndex = 0;
   fRingClusterSize = 0.;
   fRingClusterLMax4 = 0.;
   fRingClusterLMax8 = 0.;
   for (Int_t i = 0; i < 256; i++) iRingImage[i] = 0;
   iRingFreeParam = 0;
   iRingMaxLabel = 0;
   fLabX = 0.;
   fLabY = 0.;
   fLabZ = 0.;
   fX = 0.;
   fY = 0.;
   fPadX = 0.;
   fPadY = 0.;
   fMeanTheta = 0.;
   fMeanPhi = 0.;
   fTheta = 0.;
   fPhi = 0.;

   fMaxClusterSize = 0;
   fMaxClusterSum = 0;
   fMaxThrClusterSize = 0;

   fTestDens = kFALSE;
   fTestBord = kFALSE;
   fTestDyna = kFALSE;
   fTestRati = kFALSE;
   fTestAsym = kFALSE;
   fRejFake = kTRUE;
   fTests = 0;
   fBorderFactor = 0.;
   fRingCentroid = 0.;
   fRingRadius = 0.;

   fAddress = 0;
   lEventNr = 0;
   nSector = 0;
}

HRichHit::HRichHit(Int_t x, Int_t y, Int_t q, Int_t fp, Int_t lab)
{

   fRich700CircleCenterX = -10000;
   fRich700CircleCenterY = -10000;
   fRich700CircleRadius  = -10000;
   fRich700CircleChi2    = -10000;
   fRich700NofRichCals   = 0;
   initCalIds();

   iRingPatMat = 0;
   iRingHouTra = 0;
   iRingPadNr = 0;
   iRingAmplitude = 0;
   iRingLocalMax4 = 0;
   iRingLocalMax8 = 0;
   iRingClusterNr = 0;
   iRingImageSize = 0;
   iRingAlgorithmIndex = 0;
   fRingClusterSize = 0.;
   fRingClusterLMax4 = 0.;
   fRingClusterLMax8 = 0.;
   for (Int_t i = 0; i < 256; i++) iRingImage[i] = 0;
   fLabX = 0.;
   fLabY = 0.;
   fLabZ = 0.;
   fX = 0.;
   fY = 0.;
   fPadX = 0.;
   fPadY = 0.;
   fMeanTheta = 0.;
   fMeanPhi = 0.;
   fTheta = 0.;
   fPhi = 0.;

   fMaxClusterSize = 0;
   fMaxClusterSum = 0;
   fMaxThrClusterSize = 0;

   fTestDens = kFALSE;
   fTestBord = kFALSE;
   fTestDyna = kFALSE;
   fTestRati = kFALSE;
   fTestAsym = kFALSE;
   fRejFake = kTRUE;
   fTests = 0;
   fBorderFactor = 0.;
   fRingCentroid = 0.;
   fRingRadius = 0.;

   fAddress = 0;
   lEventNr = 0;
   nSector = 0;

   iRingX = x;
   iRingY = y;
   iRingQuality = q;
   iRingFreeParam = fp;
   iRingMaxLabel = lab;
}

HRichHit::~HRichHit() {}

HRichHit::HRichHit(const HRichHit& source) :TObject(source)
{
   fRich700CircleCenterX = source.fRich700CircleCenterX;
   fRich700CircleCenterY = source.fRich700CircleCenterY;
   fRich700CircleRadius  = source.fRich700CircleRadius;
   fRich700CircleChi2    = source.fRich700CircleChi2;
   fRich700NofRichCals   = source.fRich700NofRichCals;
   initCalIds();
   for (Int_t i = 0; i < fRich700NofRichCals; i++) {
       fRich700CalIds[i] = source.fRich700CalIds[i];
   }

   iRingX = source.iRingX;
   iRingY = source.iRingY;
   iRingQuality = source.iRingQuality;
   iRingPatMat = source.iRingPatMat;
   iRingHouTra = source.iRingHouTra;
   iRingPadNr = source.iRingPadNr;
   iRingAmplitude = source.iRingAmplitude;
   iRingLocalMax4 = source.iRingLocalMax4;
   iRingLocalMax8 = source.iRingLocalMax8;
   iRingClusterNr = source.iRingClusterNr;
   iRingImageSize = source.iRingImageSize;

   fRingClusterSize = source.fRingClusterSize;
   fRingClusterLMax4 = source.fRingClusterLMax4;
   fRingClusterLMax8 = source.fRingClusterLMax8;

   iRingAlgorithmIndex = source.iRingAlgorithmIndex;
   for (Int_t i = 0; i < 256; i++) iRingImage[i] = source.iRingImage[i];

   iRingFreeParam = source.iRingFreeParam;
   iRingMaxLabel = source.iRingMaxLabel;
   fLabX = source.fLabX;
   fLabY = source.fLabY;
   fLabZ = source.fLabZ;
   fX = source.fX;
   fY = source.fY;
   fPadX = source.fPadX;
   fPadY = source.fPadY;
   fMeanTheta = source.fMeanTheta;
   fMeanPhi = source.fMeanPhi;
   fTheta = source.fTheta;
   fPhi = source.fPhi;

   fMaxClusterSize = source.fMaxClusterSize;
   fMaxClusterSum = source.fMaxClusterSum;
   fMaxThrClusterSize = source.fMaxThrClusterSize;

   fTestDens = source.fTestDens;
   fTestBord = source.fTestBord;
   fTestDyna = source.fTestDyna;
   fTestRati = source.fTestRati;
   fTestAsym = source.fTestAsym;
   fTestCharge = source.fTestCharge;
   fRejFake = source.fRejFake;
   fTests = source.fTests;
   fBorderFactor = source.fBorderFactor;
   fRingCentroid = source.fRingCentroid;
   fRingRadius = source.fRingRadius;


   fAddress = source.fAddress;
   lEventNr = source.lEventNr;
   nSector = source.nSector;
}

HRichHit& HRichHit::operator=(const HRichHit& source)
{

   if (this != &source) {
      fRich700CircleCenterX = source.fRich700CircleCenterX;
      fRich700CircleCenterY = source.fRich700CircleCenterY;
      fRich700CircleRadius  = source.fRich700CircleRadius;
      fRich700CircleChi2    = source.fRich700CircleChi2;
      fRich700NofRichCals   = source.fRich700NofRichCals;
      initCalIds();
      for (Int_t i = 0; i < fRich700NofRichCals; i++) {
	  fRich700CalIds[i] = source.fRich700CalIds[i];
      }

      iRingX = source.iRingX;
      iRingY = source.iRingY;
      iRingQuality = source.iRingQuality;
      iRingPatMat = source.iRingPatMat;
      iRingHouTra = source.iRingHouTra;
      iRingPadNr = source.iRingPadNr;
      iRingAmplitude = source.iRingAmplitude;
      iRingLocalMax4 = source.iRingLocalMax4;
      iRingLocalMax8 = source.iRingLocalMax8;
      iRingClusterNr = source.iRingClusterNr;
      iRingImageSize = source.iRingImageSize;

      fRingClusterSize = source.fRingClusterSize;
      fRingClusterLMax4 = source.fRingClusterLMax4;
      fRingClusterLMax8 = source.fRingClusterLMax8;

      iRingAlgorithmIndex = source.iRingAlgorithmIndex;
      for (Int_t i = 0; i < 256; i++) iRingImage[i] = source.iRingImage[i];

      iRingFreeParam = source.iRingFreeParam;
      iRingMaxLabel = source.iRingMaxLabel;
      fLabX = source.fLabX;
      fLabY = source.fLabY;
      fLabZ = source.fLabZ;
      fX = source.fX;
      fY = source.fY;
      fPadX = source.fPadX;
      fPadY = source.fPadY;
      fMeanTheta = source.fMeanTheta;
      fMeanPhi = source.fMeanPhi;
      fTheta = source.fTheta;
      fPhi = source.fPhi;

      fMaxClusterSize = source.fMaxClusterSize;
      fMaxClusterSum = source.fMaxClusterSum;
      fMaxThrClusterSize = source.fMaxThrClusterSize;

      fTestDens = source.fTestDens;
      fTestBord = source.fTestBord;
      fTestDyna = source.fTestDyna;
      fTestRati = source.fTestRati;
      fTestAsym = source.fTestAsym;
      fTestCharge = source.fTestCharge;
      fRejFake = source.fRejFake;
      fTests = source.fTests;
      fBorderFactor = source.fBorderFactor;
      fRingCentroid = source.fRingCentroid;
      fRingRadius = source.fRingRadius;


      fAddress = source.fAddress;
      lEventNr = source.lEventNr;
      nSector = source.nSector;
   }

   return *this;
}

void HRichHit::initCalIds()
{
    for (Int_t i = 0; i < NMAXCALSPERRING; i++) {
	fRich700CalIds[i] = 0;
    }
}


void HRichHit::Reset()
{
   fRich700CircleCenterX = -10000;
   fRich700CircleCenterY = -10000;
   fRich700CircleRadius  = -10000;
   fRich700CircleChi2    = -10000;
   fRich700NofRichCals   = 0;
   initCalIds();

   iRingX = 0;
   iRingY = 0;
   iRingQuality = 0;
   iRingPatMat = 0;
   iRingHouTra = 0;
   iRingPadNr = 0;
   iRingAmplitude = 0;
   iRingLocalMax4 = 0;
   iRingLocalMax8 = 0;
   fRingClusterSize = 0.;
   fRingClusterLMax4 = 0.;
   fRingClusterLMax8 = 0.;
   iRingClusterNr = 0;
   iRingAlgorithmIndex = 0;
   for (Int_t i = 0; i < 256; i++) iRingImage[i] = 0;
   iRingFreeParam = 0;
   iRingMaxLabel = 0;
   fLabX = 0.;
   fLabY = 0.;
   fLabZ = 0.;
   fX = 0.;
   fY = 0.;
   fPadX = 0.;
   fPadY = 0.;
   fMeanTheta = 0.;
   fMeanPhi = 0.;
   fTheta = 0.;
   fPhi = 0.;
   fMaxClusterSize = 0;
   fMaxClusterSum = 0;
   fMaxThrClusterSize = 0;
   fTestDens = kFALSE;
   fTestBord = kFALSE;
   fTestDyna = kFALSE;
   fTestRati = kFALSE;
   fTestAsym = kFALSE;
   fRejFake = kTRUE;
   fTests = 0;
   fBorderFactor = 0.;
   fRingCentroid = 0.;
   fRingRadius = 0.;
   lEventNr = 0;
   nSector = 0;
   fAddress = 0;
}

Int_t HRichHit::calcAddress()
{
   Char_t s = (nSector) ? nSector : 6;
   fAddress = 10000 * s;
   fAddress += 100 * iRingY;
   fAddress += iRingX;

   return fAddress;
}

void HRichHit::dumpToStdout()
{
   cout << "***************************************************" << endl;
   cout << "*** RICH Hit Properties (Ring) *** Sec:" << getSector() << endl;
   cout << "Ring X (azim)   : " << getRingCenterX()
        << " / Ring Y (polar)  : " << getRingCenterY() << endl;
   cout << "Ring PHI (azim)   : " << getPhi()
        << " / Ring THETA (polar)  : " << getTheta() << endl;
   cout << "Ring HT         : " << getRingHouTra()
        << " / Ring PM         :" << getRingPatMat() << endl;
   cout << "Ring Ampl :" << getRingAmplitude()
        << " / Ring PadNr  :" << getRingPadNr()
        << " / Ring LocMax4  :" << getRingLocalMax4() << endl;
   cout << "***************************************************" << endl;

}

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

   UInt_t R__s, R__c;
   if (R__b.IsReading()) {
      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
      TObject::Streamer(R__b);
      if(R__v>1){
	  R__b >> fRich700CircleCenterX;
	  R__b >> fRich700CircleCenterY;
	  R__b >> fRich700CircleRadius;
	  R__b >> fRich700CircleChi2;
	  R__b >> fRich700NofRichCals;
      } else {
	  fRich700CircleCenterX = -10000;
	  fRich700CircleCenterY = -10000;
	  fRich700CircleRadius  = -10000;
	  fRich700CircleChi2    = -10000;
	  fRich700NofRichCals   = 0;
      }
      if (R__v>2) {
          R__b.ReadStaticArray((UShort_t*)fRich700CalIds);
      } else {
          initCalIds();
      }
      R__b >> iRingX;
      R__b >> iRingY;
      R__b >> iRingPatMat;
      R__b >> iRingHouTra;
      R__b >> iRingPadNr;
      R__b >> iRingAmplitude;
      R__b >> iRingLocalMax4;
      R__b >> iRingLocalMax8;
      R__b >> iRingClusterNr;
      R__b >> fRingClusterSize;
      R__b >> fRingClusterLMax4;
      R__b >> fRingClusterLMax8;
      R__b >> iRingAlgorithmIndex;
      R__b >> fMaxClusterSize;
      R__b >> fMaxClusterSum;
      R__b >> fMaxThrClusterSize;
      R__b >> fLabX;
      R__b >> fLabY;
      R__b >> fLabZ;
      R__b >> fX;
      R__b >> fY;
      R__b >> fPadX;
      R__b >> fPadY;
      R__b >> fMeanTheta;
      R__b >> fMeanPhi;
      R__b >> fTheta;
      R__b >> fPhi;
      R__b >> nSector;
      R__b >> lEventNr;
      R__b >> fAddress;
      R__b >> fTestDens;
      R__b >> fTestBord;
      R__b >> fTestDyna;
      R__b >> fTestRati;
      R__b >> fTestAsym;
      R__b >> fTestCharge;
      R__b >> fRejFake;
      R__b >> fTests;
      R__b >> fRingCentroid;
      R__b >> fRingRadius;
      R__b >> fBorderFactor;
      R__b.CheckByteCount(R__s, R__c, HRichHit::IsA());
   } else {
      R__c = R__b.WriteVersion(HRichHit::IsA(), kTRUE);
      TObject::Streamer(R__b);
      R__b << fRich700CircleCenterX;
      R__b << fRich700CircleCenterY;
      R__b << fRich700CircleRadius;
      R__b << fRich700CircleChi2;
      R__b << fRich700NofRichCals;
      R__b.WriteArray(fRich700CalIds, NMAXCALSPERRING);
      R__b << iRingX;
      R__b << iRingY;
      R__b << iRingPatMat;
      R__b << iRingHouTra;
      R__b << iRingPadNr;
      R__b << iRingAmplitude;
      R__b << iRingLocalMax4;
      R__b << iRingLocalMax8;
      R__b << iRingClusterNr;
      R__b << fRingClusterSize;
      R__b << fRingClusterLMax4;
      R__b << fRingClusterLMax8;
      R__b << iRingAlgorithmIndex;
      R__b << fMaxClusterSize;
      R__b << fMaxClusterSum;
      R__b << fMaxThrClusterSize;
      R__b << fLabX;
      R__b << fLabY;
      R__b << fLabZ;
      R__b << fX;
      R__b << fY;
      R__b << fPadX;
      R__b << fPadY;
      R__b << fMeanTheta;
      R__b << fMeanPhi;
      R__b << fTheta;
      R__b << fPhi;
      R__b << nSector;
      R__b << lEventNr;
      R__b << fAddress;
      R__b << fTestDens;
      R__b << fTestBord;
      R__b << fTestDyna;
      R__b << fTestRati;
      R__b << fTestAsym;
      R__b << fTestCharge;
      R__b << fRejFake;
      R__b << fTests;
      R__b << fRingCentroid;
      R__b << fRingRadius;
      R__b << fBorderFactor;
      R__b.SetByteCount(R__c, kTRUE);
   }
}
 hrichhit.cc:1
 hrichhit.cc:2
 hrichhit.cc:3
 hrichhit.cc:4
 hrichhit.cc:5
 hrichhit.cc:6
 hrichhit.cc:7
 hrichhit.cc:8
 hrichhit.cc:9
 hrichhit.cc:10
 hrichhit.cc:11
 hrichhit.cc:12
 hrichhit.cc:13
 hrichhit.cc:14
 hrichhit.cc:15
 hrichhit.cc:16
 hrichhit.cc:17
 hrichhit.cc:18
 hrichhit.cc:19
 hrichhit.cc:20
 hrichhit.cc:21
 hrichhit.cc:22
 hrichhit.cc:23
 hrichhit.cc:24
 hrichhit.cc:25
 hrichhit.cc:26
 hrichhit.cc:27
 hrichhit.cc:28
 hrichhit.cc:29
 hrichhit.cc:30
 hrichhit.cc:31
 hrichhit.cc:32
 hrichhit.cc:33
 hrichhit.cc:34
 hrichhit.cc:35
 hrichhit.cc:36
 hrichhit.cc:37
 hrichhit.cc:38
 hrichhit.cc:39
 hrichhit.cc:40
 hrichhit.cc:41
 hrichhit.cc:42
 hrichhit.cc:43
 hrichhit.cc:44
 hrichhit.cc:45
 hrichhit.cc:46
 hrichhit.cc:47
 hrichhit.cc:48
 hrichhit.cc:49
 hrichhit.cc:50
 hrichhit.cc:51
 hrichhit.cc:52
 hrichhit.cc:53
 hrichhit.cc:54
 hrichhit.cc:55
 hrichhit.cc:56
 hrichhit.cc:57
 hrichhit.cc:58
 hrichhit.cc:59
 hrichhit.cc:60
 hrichhit.cc:61
 hrichhit.cc:62
 hrichhit.cc:63
 hrichhit.cc:64
 hrichhit.cc:65
 hrichhit.cc:66
 hrichhit.cc:67
 hrichhit.cc:68
 hrichhit.cc:69
 hrichhit.cc:70
 hrichhit.cc:71
 hrichhit.cc:72
 hrichhit.cc:73
 hrichhit.cc:74
 hrichhit.cc:75
 hrichhit.cc:76
 hrichhit.cc:77
 hrichhit.cc:78
 hrichhit.cc:79
 hrichhit.cc:80
 hrichhit.cc:81
 hrichhit.cc:82
 hrichhit.cc:83
 hrichhit.cc:84
 hrichhit.cc:85
 hrichhit.cc:86
 hrichhit.cc:87
 hrichhit.cc:88
 hrichhit.cc:89
 hrichhit.cc:90
 hrichhit.cc:91
 hrichhit.cc:92
 hrichhit.cc:93
 hrichhit.cc:94
 hrichhit.cc:95
 hrichhit.cc:96
 hrichhit.cc:97
 hrichhit.cc:98
 hrichhit.cc:99
 hrichhit.cc:100
 hrichhit.cc:101
 hrichhit.cc:102
 hrichhit.cc:103
 hrichhit.cc:104
 hrichhit.cc:105
 hrichhit.cc:106
 hrichhit.cc:107
 hrichhit.cc:108
 hrichhit.cc:109
 hrichhit.cc:110
 hrichhit.cc:111
 hrichhit.cc:112
 hrichhit.cc:113
 hrichhit.cc:114
 hrichhit.cc:115
 hrichhit.cc:116
 hrichhit.cc:117
 hrichhit.cc:118
 hrichhit.cc:119
 hrichhit.cc:120
 hrichhit.cc:121
 hrichhit.cc:122
 hrichhit.cc:123
 hrichhit.cc:124
 hrichhit.cc:125
 hrichhit.cc:126
 hrichhit.cc:127
 hrichhit.cc:128
 hrichhit.cc:129
 hrichhit.cc:130
 hrichhit.cc:131
 hrichhit.cc:132
 hrichhit.cc:133
 hrichhit.cc:134
 hrichhit.cc:135
 hrichhit.cc:136
 hrichhit.cc:137
 hrichhit.cc:138
 hrichhit.cc:139
 hrichhit.cc:140
 hrichhit.cc:141
 hrichhit.cc:142
 hrichhit.cc:143
 hrichhit.cc:144
 hrichhit.cc:145
 hrichhit.cc:146
 hrichhit.cc:147
 hrichhit.cc:148
 hrichhit.cc:149
 hrichhit.cc:150
 hrichhit.cc:151
 hrichhit.cc:152
 hrichhit.cc:153
 hrichhit.cc:154
 hrichhit.cc:155
 hrichhit.cc:156
 hrichhit.cc:157
 hrichhit.cc:158
 hrichhit.cc:159
 hrichhit.cc:160
 hrichhit.cc:161
 hrichhit.cc:162
 hrichhit.cc:163
 hrichhit.cc:164
 hrichhit.cc:165
 hrichhit.cc:166
 hrichhit.cc:167
 hrichhit.cc:168
 hrichhit.cc:169
 hrichhit.cc:170
 hrichhit.cc:171
 hrichhit.cc:172
 hrichhit.cc:173
 hrichhit.cc:174
 hrichhit.cc:175
 hrichhit.cc:176
 hrichhit.cc:177
 hrichhit.cc:178
 hrichhit.cc:179
 hrichhit.cc:180
 hrichhit.cc:181
 hrichhit.cc:182
 hrichhit.cc:183
 hrichhit.cc:184
 hrichhit.cc:185
 hrichhit.cc:186
 hrichhit.cc:187
 hrichhit.cc:188
 hrichhit.cc:189
 hrichhit.cc:190
 hrichhit.cc:191
 hrichhit.cc:192
 hrichhit.cc:193
 hrichhit.cc:194
 hrichhit.cc:195
 hrichhit.cc:196
 hrichhit.cc:197
 hrichhit.cc:198
 hrichhit.cc:199
 hrichhit.cc:200
 hrichhit.cc:201
 hrichhit.cc:202
 hrichhit.cc:203
 hrichhit.cc:204
 hrichhit.cc:205
 hrichhit.cc:206
 hrichhit.cc:207
 hrichhit.cc:208
 hrichhit.cc:209
 hrichhit.cc:210
 hrichhit.cc:211
 hrichhit.cc:212
 hrichhit.cc:213
 hrichhit.cc:214
 hrichhit.cc:215
 hrichhit.cc:216
 hrichhit.cc:217
 hrichhit.cc:218
 hrichhit.cc:219
 hrichhit.cc:220
 hrichhit.cc:221
 hrichhit.cc:222
 hrichhit.cc:223
 hrichhit.cc:224
 hrichhit.cc:225
 hrichhit.cc:226
 hrichhit.cc:227
 hrichhit.cc:228
 hrichhit.cc:229
 hrichhit.cc:230
 hrichhit.cc:231
 hrichhit.cc:232
 hrichhit.cc:233
 hrichhit.cc:234
 hrichhit.cc:235
 hrichhit.cc:236
 hrichhit.cc:237
 hrichhit.cc:238
 hrichhit.cc:239
 hrichhit.cc:240
 hrichhit.cc:241
 hrichhit.cc:242
 hrichhit.cc:243
 hrichhit.cc:244
 hrichhit.cc:245
 hrichhit.cc:246
 hrichhit.cc:247
 hrichhit.cc:248
 hrichhit.cc:249
 hrichhit.cc:250
 hrichhit.cc:251
 hrichhit.cc:252
 hrichhit.cc:253
 hrichhit.cc:254
 hrichhit.cc:255
 hrichhit.cc:256
 hrichhit.cc:257
 hrichhit.cc:258
 hrichhit.cc:259
 hrichhit.cc:260
 hrichhit.cc:261
 hrichhit.cc:262
 hrichhit.cc:263
 hrichhit.cc:264
 hrichhit.cc:265
 hrichhit.cc:266
 hrichhit.cc:267
 hrichhit.cc:268
 hrichhit.cc:269
 hrichhit.cc:270
 hrichhit.cc:271
 hrichhit.cc:272
 hrichhit.cc:273
 hrichhit.cc:274
 hrichhit.cc:275
 hrichhit.cc:276
 hrichhit.cc:277
 hrichhit.cc:278
 hrichhit.cc:279
 hrichhit.cc:280
 hrichhit.cc:281
 hrichhit.cc:282
 hrichhit.cc:283
 hrichhit.cc:284
 hrichhit.cc:285
 hrichhit.cc:286
 hrichhit.cc:287
 hrichhit.cc:288
 hrichhit.cc:289
 hrichhit.cc:290
 hrichhit.cc:291
 hrichhit.cc:292
 hrichhit.cc:293
 hrichhit.cc:294
 hrichhit.cc:295
 hrichhit.cc:296
 hrichhit.cc:297
 hrichhit.cc:298
 hrichhit.cc:299
 hrichhit.cc:300
 hrichhit.cc:301
 hrichhit.cc:302
 hrichhit.cc:303
 hrichhit.cc:304
 hrichhit.cc:305
 hrichhit.cc:306
 hrichhit.cc:307
 hrichhit.cc:308
 hrichhit.cc:309
 hrichhit.cc:310
 hrichhit.cc:311
 hrichhit.cc:312
 hrichhit.cc:313
 hrichhit.cc:314
 hrichhit.cc:315
 hrichhit.cc:316
 hrichhit.cc:317
 hrichhit.cc:318
 hrichhit.cc:319
 hrichhit.cc:320
 hrichhit.cc:321
 hrichhit.cc:322
 hrichhit.cc:323
 hrichhit.cc:324
 hrichhit.cc:325
 hrichhit.cc:326
 hrichhit.cc:327
 hrichhit.cc:328
 hrichhit.cc:329
 hrichhit.cc:330
 hrichhit.cc:331
 hrichhit.cc:332
 hrichhit.cc:333
 hrichhit.cc:334
 hrichhit.cc:335
 hrichhit.cc:336
 hrichhit.cc:337
 hrichhit.cc:338
 hrichhit.cc:339
 hrichhit.cc:340
 hrichhit.cc:341
 hrichhit.cc:342
 hrichhit.cc:343
 hrichhit.cc:344
 hrichhit.cc:345
 hrichhit.cc:346
 hrichhit.cc:347
 hrichhit.cc:348
 hrichhit.cc:349
 hrichhit.cc:350
 hrichhit.cc:351
 hrichhit.cc:352
 hrichhit.cc:353
 hrichhit.cc:354
 hrichhit.cc:355
 hrichhit.cc:356
 hrichhit.cc:357
 hrichhit.cc:358
 hrichhit.cc:359
 hrichhit.cc:360
 hrichhit.cc:361
 hrichhit.cc:362
 hrichhit.cc:363
 hrichhit.cc:364
 hrichhit.cc:365
 hrichhit.cc:366
 hrichhit.cc:367
 hrichhit.cc:368
 hrichhit.cc:369
 hrichhit.cc:370
 hrichhit.cc:371
 hrichhit.cc:372
 hrichhit.cc:373
 hrichhit.cc:374
 hrichhit.cc:375
 hrichhit.cc:376
 hrichhit.cc:377
 hrichhit.cc:378
 hrichhit.cc:379
 hrichhit.cc:380
 hrichhit.cc:381
 hrichhit.cc:382
 hrichhit.cc:383
 hrichhit.cc:384
 hrichhit.cc:385
 hrichhit.cc:386
 hrichhit.cc:387
 hrichhit.cc:388
 hrichhit.cc:389
 hrichhit.cc:390
 hrichhit.cc:391
 hrichhit.cc:392
 hrichhit.cc:393
 hrichhit.cc:394
 hrichhit.cc:395
 hrichhit.cc:396
 hrichhit.cc:397
 hrichhit.cc:398
 hrichhit.cc:399
 hrichhit.cc:400
 hrichhit.cc:401
 hrichhit.cc:402
 hrichhit.cc:403
 hrichhit.cc:404
 hrichhit.cc:405
 hrichhit.cc:406
 hrichhit.cc:407
 hrichhit.cc:408
 hrichhit.cc:409
 hrichhit.cc:410
 hrichhit.cc:411
 hrichhit.cc:412
 hrichhit.cc:413
 hrichhit.cc:414
 hrichhit.cc:415
 hrichhit.cc:416
 hrichhit.cc:417
 hrichhit.cc:418
 hrichhit.cc:419
 hrichhit.cc:420
 hrichhit.cc:421
 hrichhit.cc:422
 hrichhit.cc:423
 hrichhit.cc:424
 hrichhit.cc:425
 hrichhit.cc:426
 hrichhit.cc:427
 hrichhit.cc:428
 hrichhit.cc:429
 hrichhit.cc:430
 hrichhit.cc:431
 hrichhit.cc:432
 hrichhit.cc:433
 hrichhit.cc:434
 hrichhit.cc:435
 hrichhit.cc:436
 hrichhit.cc:437
 hrichhit.cc:438
 hrichhit.cc:439
 hrichhit.cc:440
 hrichhit.cc:441
 hrichhit.cc:442
 hrichhit.cc:443
 hrichhit.cc:444
 hrichhit.cc:445
 hrichhit.cc:446
 hrichhit.cc:447
 hrichhit.cc:448
 hrichhit.cc:449
 hrichhit.cc:450
 hrichhit.cc:451
 hrichhit.cc:452
 hrichhit.cc:453
 hrichhit.cc:454
 hrichhit.cc:455
 hrichhit.cc:456
 hrichhit.cc:457
 hrichhit.cc:458
 hrichhit.cc:459
 hrichhit.cc:460
 hrichhit.cc:461
 hrichhit.cc:462
 hrichhit.cc:463
 hrichhit.cc:464
 hrichhit.cc:465
 hrichhit.cc:466
 hrichhit.cc:467
 hrichhit.cc:468
 hrichhit.cc:469
 hrichhit.cc:470
 hrichhit.cc:471
 hrichhit.cc:472
 hrichhit.cc:473
 hrichhit.cc:474
 hrichhit.cc:475
 hrichhit.cc:476
 hrichhit.cc:477
 hrichhit.cc:478
 hrichhit.cc:479
 hrichhit.cc:480
 hrichhit.cc:481
 hrichhit.cc:482
 hrichhit.cc:483
 hrichhit.cc:484
 hrichhit.cc:485
 hrichhit.cc:486
 hrichhit.cc:487
 hrichhit.cc:488
 hrichhit.cc:489
 hrichhit.cc:490
 hrichhit.cc:491
 hrichhit.cc:492
 hrichhit.cc:493
 hrichhit.cc:494
 hrichhit.cc:495
 hrichhit.cc:496
 hrichhit.cc:497
 hrichhit.cc:498
 hrichhit.cc:499
 hrichhit.cc:500
 hrichhit.cc:501
 hrichhit.cc:502