ROOT logo
//*-- Modified : 03.12.2009 Ilse Koenig

//_HADES_CLASS_DESCRIPTION
/////////////////////////////////////////////////////////////
//  HStart2Cal
//
//  This class contains START2 detector Cal data
//
//  Containing calibrated Time and width, up to 10 hits, same as on
//  raw Level.
//
/////////////////////////////////////////////////////////////

#include "hstart2cal.h"
#include "TBuffer.h"

ClassImp(HStart2Cal)

Float_t HStart2Cal::getTime(const Int_t n) const
{
   // Returns the time of the nth hit
   switch (n) {
      case 1:
         return fTime1;
      case 2:
         return fTime2;
      case 3:
         return fTime3;
      case 4:
         return fTime4;
      case 5:
         return fTime5;
      case 6:
         return fTime6;
      case 7:
         return fTime7;
      case 8:
         return fTime8;
      case 9:
         return fTime9;
      case 10:
         return fTime10;
      default:
         Error("getTime", "hit number: %i out of range [1,%i]", n,STARTCALMAX);
         return -1.;
   }
}

Float_t HStart2Cal::getWidth(const Int_t n) const
{
   // Returns the width of the nth hit
   switch (n) {
      case 1:
         return fWidth1;
      case 2:
         return fWidth2;
      case 3:
         return fWidth3;
      case 4:
         return fWidth4;
      case 5:
         return fWidth5;
      case 6:
         return fWidth6;
      case 7:
         return fWidth7;
      case 8:
         return fWidth8;
      case 9:
         return fWidth9;
      case 10:
         return fWidth10;
      default:
         Error("getWidth", "hit number: %i out of range [1,%i]", n,STARTCALMAX);
         return -1.;
   }
}

void HStart2Cal::getTimeAndWidth(const Int_t n, Float_t& time, Float_t& width)
{
   // Returns the time and width of the nth hit
   switch (n) {
      case 1:
         time = fTime1;
         width  = fWidth1;
         return;
      case 2:
         time = fTime2;
         width  = fWidth2;
         return;
      case 3:
         time = fTime3;
         width  = fWidth3;
         return;
      case 4:
         time = fTime4;
         width  = fWidth4;
         return;
      case 5:
         time = fTime5;
         width  = fWidth5;
         return;
      case 6:
         time = fTime6;
         width  = fWidth6;
         return;
      case 7:
         time = fTime7;
         width  = fWidth7;
         return;
      case 8:
         time = fTime8;
         width  = fWidth8;
         return;
      case 9:
         time = fTime9;
         width  = fWidth9;
         return;
      case 10:
         time = fTime10;
         width  = fWidth10;
         return;
      default:
         Error("getTimeAndWidth", "hit number: %i out of range [1,%i]", n,STARTCALMAX);
         time = -1.;
         width  = -1.;
         return;
   }
}

Bool_t HStart2Cal::setTimeAndWidth(const Float_t time, const Float_t width)
{
   // Stores the given time and width in the next data element time* and width*
   // and sets the multiplicity.
   // Returns kFALSE if max hits are already stored.
   switch (fMultiplicity) {
      case 0:
         fTime1 = time;
         fWidth1  = width;
         ++fMultiplicity;
         return kTRUE;
      case 1:
         fTime2 = time;
         fWidth2  = width;
         ++fMultiplicity;
         return kTRUE;
      case 2:
         fTime3 = time;
         fWidth3  = width;
         ++fMultiplicity;
         return kTRUE;
      case 3:
         fTime4 = time;
         fWidth4  = width;
         ++fMultiplicity;
         return kTRUE;
      case 4:
         fTime5 = time;
         fWidth5  = width;
         ++fMultiplicity;
         return kTRUE;
      case 5:
         fTime6 = time;
         fWidth6  = width;
         ++fMultiplicity;
         return kTRUE;
      case 6:
         fTime7 = time;
         fWidth7  = width;
         ++fMultiplicity;
         return kTRUE;
      case 7:
         fTime8 = time;
         fWidth8  = width;
         ++fMultiplicity;
         return kTRUE;
      case 8:
         fTime9 = time;
         fWidth9  = width;
         ++fMultiplicity;
         return kTRUE;
      case 9:
         fTime10 = time;
         fWidth10  = width;
         ++fMultiplicity;
         return kTRUE;
      default:
         if (fMultiplicity >= STARTCALMAX) {
            ++fMultiplicity; // continue counting Hits ...
         }
         return kFALSE;
   }
   return kTRUE;
}

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

   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);
      R__b >> fMultiplicity;
      R__b >> fModule;
      R__b >> fStrip;
      R__b >> fTime1;
      R__b >> fWidth1;
      R__b >> fTime2;
      R__b >> fWidth2;
      R__b >> fTime3;
      R__b >> fWidth3;
      R__b >> fTime4;
      R__b >> fWidth4;
      if(R__v > 4){
	  R__b >> fTime5;
	  R__b >> fWidth5;
	  R__b >> fTime6;
	  R__b >> fWidth6;
	  R__b >> fTime7;
	  R__b >> fWidth7;
	  R__b >> fTime8;
	  R__b >> fWidth8;
	  R__b >> fTime9;
	  R__b >> fWidth9;
	  R__b >> fTime10;
	  R__b >> fWidth10;
      } else {
	  fTime5=fTime6=fTime7=fTime8=fTime9=fTime10=-1000000.;
          fWidth5=fWidth6=fWidth7=fWidth8=fWidth9=fWidth10=-1000000.;
      }

      R__b.CheckByteCount(R__s, R__c, HStart2Cal::IsA());
   } else {
      R__c = R__b.WriteVersion(HStart2Cal::IsA(), kTRUE);
      TObject::Streamer(R__b);
      R__b << fMultiplicity;
      R__b << fModule;
      R__b << fStrip;
      R__b << fTime1;
      R__b << fWidth1;
      R__b << fTime2;
      R__b << fWidth2;
      R__b << fTime3;
      R__b << fWidth3;
      R__b << fTime4;
      R__b << fWidth4;
      R__b << fTime5;
      R__b << fWidth5;
      R__b << fTime6;
      R__b << fWidth6;
      R__b << fTime7;
      R__b << fWidth7;
      R__b << fTime8;
      R__b << fWidth8;
      R__b << fTime9;
      R__b << fWidth9;
      R__b << fTime10;
      R__b << fWidth10;
      R__b.SetByteCount(R__c, kTRUE);
   }
}

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