ROOT logo
using namespace std;
#include<iostream>
#include<fstream>
#include"hmdctrackgcorrections.h"

#include "TBuffer.h"
#include<math.h>
ClassImp(HMdcTrackGCorrections)
   
HMdcTrackGCorrections::HMdcTrackGCorrections(const Char_t* name, const Char_t* title):
      TNamed(name,title)
{
   for(Int_t i=0; i<34; i++)
      tetaI[i]=18+2*i;
   for(Int_t i=0; i<16; i++)
      phiI[i]=60+2*i;
}

HMdcTrackGCorrections::HMdcTrackGCorrections(HMdcTrackGCorrections &corr):TNamed(corr)
{
   for(Int_t i=0; i<16; i++)
      {
	phiI[i]=corr.getPhiI(i);
      }
   for(Int_t i=0; i<34; i++)
      {
	 tetaI[i]=corr.getThetaI(i);
      }
   
   for(Int_t i=0; i<60; i++)
      {
	 precI[i]=corr.getPrecI(i);
      }
   
   for(Int_t i=0; i<34; i++)
      for(Int_t j=0; j<16; j++)
	 for(Int_t k=0; k<60; k++)
	    {
	       corrE[i][j][k]=corr.getCorrE(i,j,k);
	       corrP[i][j][k]=corr.getCorrP(i,j,k);
	       corrE1[i][j][k]=corr.getCorrE1(i,j,k);
	       corrP1[i][j][k]=corr.getCorrP1(i,j,k);
	    }
}


HMdcTrackGCorrections::~HMdcTrackGCorrections()
{
   ;
}
void HMdcTrackGCorrections::clear()
{
}
void HMdcTrackGCorrections::init(TString infile1, TString infile2,TString infile3,TString infile4)
{
   //infile1 electrons 4 chamber mode
   //infile2 positrons 4 chamber mode
   //infile3 electrons 3 chamber mode
   //infile4 positrons 3 chamber mode
   Double_t pp1,pp2,pp3;
   ifstream input1, input2,input3,input4;
   
   input1.open(infile1.Data(),ios::in);
   input2.open(infile2.Data(),ios::in);
   input3.open(infile3.Data(),ios::in);
   input4.open(infile4.Data(),ios::in);
   
   for(Int_t i=0; i<60; i++)
      {
	 input1>>precI[i];
	 input2>>pp1;  
	 input3>>pp2;
	 input4>>pp3;
      }
   for (Int_t k=0; k<34; k++)
      for (Int_t i=0; i<16; i++)
	 for(Int_t j=0; j<60; j++)
	    {
	       input1>>corrE[k][i][j];
	       input2>>corrP[k][i][j];
	       input3>>corrE1[k][i][j];
	       input4>>corrP1[k][i][j];
      }  
   input1.close();
   input2.close();
   input3.close();
   input4.close();   
}

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

   UInt_t R__s, R__c;
   if (R__b.IsReading()) {
      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
      TNamed::Streamer(R__b);
      R__b.ReadStaticArray(phiI);
      R__b.ReadStaticArray(tetaI);
      R__b.ReadStaticArray(precI);
      R__b.ReadStaticArray((Double_t*)corrE);
      R__b.ReadStaticArray((Double_t*)corrP);
     
      if(R__v==2)
      {
      R__b.ReadStaticArray((Double_t*)corrE1);
      R__b.ReadStaticArray((Double_t*)corrP1);
      }
     
     
      else 
      if(R__v<=1)
      {
         for (Int_t k=0; k<34; k++)
	  for (Int_t i=0; i<16; i++)
	   for(Int_t j=0; j<60; j++)
	    {
	     corrE1[k][i][j]=corrE[k][i][j];
	     corrP1[k][i][j]=corrP[k][i][j];
	    }
	}
	
	
	
	
       R__b.CheckByteCount(R__s, R__c, HMdcTrackGCorrections::IsA());
       }
   else {
      R__c = R__b.WriteVersion(HMdcTrackGCorrections::IsA(), kTRUE);
      TNamed::Streamer(R__b);
      R__b.WriteArray(phiI, 16);
      R__b.WriteArray(tetaI, 34);
      R__b.WriteArray(precI, 60);
      R__b.WriteArray((Double_t*)corrE, 32640);
      R__b.WriteArray((Double_t*)corrP, 32640);
      R__b.WriteArray((Double_t*)corrE1, 32640);
      R__b.WriteArray((Double_t*)corrP1, 32640);
      
      R__b.SetByteCount(R__c, kTRUE);
	 }
   }





 hmdctrackgcorrections.cc:1
 hmdctrackgcorrections.cc:2
 hmdctrackgcorrections.cc:3
 hmdctrackgcorrections.cc:4
 hmdctrackgcorrections.cc:5
 hmdctrackgcorrections.cc:6
 hmdctrackgcorrections.cc:7
 hmdctrackgcorrections.cc:8
 hmdctrackgcorrections.cc:9
 hmdctrackgcorrections.cc:10
 hmdctrackgcorrections.cc:11
 hmdctrackgcorrections.cc:12
 hmdctrackgcorrections.cc:13
 hmdctrackgcorrections.cc:14
 hmdctrackgcorrections.cc:15
 hmdctrackgcorrections.cc:16
 hmdctrackgcorrections.cc:17
 hmdctrackgcorrections.cc:18
 hmdctrackgcorrections.cc:19
 hmdctrackgcorrections.cc:20
 hmdctrackgcorrections.cc:21
 hmdctrackgcorrections.cc:22
 hmdctrackgcorrections.cc:23
 hmdctrackgcorrections.cc:24
 hmdctrackgcorrections.cc:25
 hmdctrackgcorrections.cc:26
 hmdctrackgcorrections.cc:27
 hmdctrackgcorrections.cc:28
 hmdctrackgcorrections.cc:29
 hmdctrackgcorrections.cc:30
 hmdctrackgcorrections.cc:31
 hmdctrackgcorrections.cc:32
 hmdctrackgcorrections.cc:33
 hmdctrackgcorrections.cc:34
 hmdctrackgcorrections.cc:35
 hmdctrackgcorrections.cc:36
 hmdctrackgcorrections.cc:37
 hmdctrackgcorrections.cc:38
 hmdctrackgcorrections.cc:39
 hmdctrackgcorrections.cc:40
 hmdctrackgcorrections.cc:41
 hmdctrackgcorrections.cc:42
 hmdctrackgcorrections.cc:43
 hmdctrackgcorrections.cc:44
 hmdctrackgcorrections.cc:45
 hmdctrackgcorrections.cc:46
 hmdctrackgcorrections.cc:47
 hmdctrackgcorrections.cc:48
 hmdctrackgcorrections.cc:49
 hmdctrackgcorrections.cc:50
 hmdctrackgcorrections.cc:51
 hmdctrackgcorrections.cc:52
 hmdctrackgcorrections.cc:53
 hmdctrackgcorrections.cc:54
 hmdctrackgcorrections.cc:55
 hmdctrackgcorrections.cc:56
 hmdctrackgcorrections.cc:57
 hmdctrackgcorrections.cc:58
 hmdctrackgcorrections.cc:59
 hmdctrackgcorrections.cc:60
 hmdctrackgcorrections.cc:61
 hmdctrackgcorrections.cc:62
 hmdctrackgcorrections.cc:63
 hmdctrackgcorrections.cc:64
 hmdctrackgcorrections.cc:65
 hmdctrackgcorrections.cc:66
 hmdctrackgcorrections.cc:67
 hmdctrackgcorrections.cc:68
 hmdctrackgcorrections.cc:69
 hmdctrackgcorrections.cc:70
 hmdctrackgcorrections.cc:71
 hmdctrackgcorrections.cc:72
 hmdctrackgcorrections.cc:73
 hmdctrackgcorrections.cc:74
 hmdctrackgcorrections.cc:75
 hmdctrackgcorrections.cc:76
 hmdctrackgcorrections.cc:77
 hmdctrackgcorrections.cc:78
 hmdctrackgcorrections.cc:79
 hmdctrackgcorrections.cc:80
 hmdctrackgcorrections.cc:81
 hmdctrackgcorrections.cc:82
 hmdctrackgcorrections.cc:83
 hmdctrackgcorrections.cc:84
 hmdctrackgcorrections.cc:85
 hmdctrackgcorrections.cc:86
 hmdctrackgcorrections.cc:87
 hmdctrackgcorrections.cc:88
 hmdctrackgcorrections.cc:89
 hmdctrackgcorrections.cc:90
 hmdctrackgcorrections.cc:91
 hmdctrackgcorrections.cc:92
 hmdctrackgcorrections.cc:93
 hmdctrackgcorrections.cc:94
 hmdctrackgcorrections.cc:95
 hmdctrackgcorrections.cc:96
 hmdctrackgcorrections.cc:97
 hmdctrackgcorrections.cc:98
 hmdctrackgcorrections.cc:99
 hmdctrackgcorrections.cc:100
 hmdctrackgcorrections.cc:101
 hmdctrackgcorrections.cc:102
 hmdctrackgcorrections.cc:103
 hmdctrackgcorrections.cc:104
 hmdctrackgcorrections.cc:105
 hmdctrackgcorrections.cc:106
 hmdctrackgcorrections.cc:107
 hmdctrackgcorrections.cc:108
 hmdctrackgcorrections.cc:109
 hmdctrackgcorrections.cc:110
 hmdctrackgcorrections.cc:111
 hmdctrackgcorrections.cc:112
 hmdctrackgcorrections.cc:113
 hmdctrackgcorrections.cc:114
 hmdctrackgcorrections.cc:115
 hmdctrackgcorrections.cc:116
 hmdctrackgcorrections.cc:117
 hmdctrackgcorrections.cc:118
 hmdctrackgcorrections.cc:119
 hmdctrackgcorrections.cc:120
 hmdctrackgcorrections.cc:121
 hmdctrackgcorrections.cc:122
 hmdctrackgcorrections.cc:123
 hmdctrackgcorrections.cc:124
 hmdctrackgcorrections.cc:125
 hmdctrackgcorrections.cc:126
 hmdctrackgcorrections.cc:127
 hmdctrackgcorrections.cc:128
 hmdctrackgcorrections.cc:129
 hmdctrackgcorrections.cc:130
 hmdctrackgcorrections.cc:131
 hmdctrackgcorrections.cc:132
 hmdctrackgcorrections.cc:133
 hmdctrackgcorrections.cc:134
 hmdctrackgcorrections.cc:135
 hmdctrackgcorrections.cc:136
 hmdctrackgcorrections.cc:137
 hmdctrackgcorrections.cc:138
 hmdctrackgcorrections.cc:139
 hmdctrackgcorrections.cc:140
 hmdctrackgcorrections.cc:141
 hmdctrackgcorrections.cc:142
 hmdctrackgcorrections.cc:143
 hmdctrackgcorrections.cc:144
 hmdctrackgcorrections.cc:145
 hmdctrackgcorrections.cc:146