diff --git a/src/THcRaster.cxx b/src/THcRaster.cxx index 65fd18397fd5ec6ba523395e6fb023867a23a2c5..6c6294a52ebdc1f8587d0a63342ff9f806149824 100644 --- a/src/THcRaster.cxx +++ b/src/THcRaster.cxx @@ -61,9 +61,9 @@ THcRaster::THcRaster( const char* name, const char* description, fFrXB_ADCperCM = 1.0; fFrYB_ADCperCM = 1.0; fFrXA_ADC_zero_offset = 0; - fFrXA_ADC_zero_offset =0; - fFrXA_ADC_zero_offset =0; - fFrXA_ADC_zero_offset =0; + fFrXB_ADC_zero_offset =0; + fFrYA_ADC_zero_offset =0; + fFrYB_ADC_zero_offset =0; frPosAdcPulseIntRaw = NULL; @@ -197,8 +197,8 @@ Int_t THcRaster::DefineVariables( EMode mode ) RVarDef vars[] = { {"frxaRawAdc", "Raster XA raw ADC", "FRXA_rawadc"}, - {"fryaRawAdc", "Raster YA raw ADC", "FRXB_rawadc"}, - {"frxbRawAdc", "Raster XB raw ADC", "FRYA_rawadc"}, + {"fryaRawAdc", "Raster YA raw ADC", "FRYA_rawadc"}, + {"frxbRawAdc", "Raster XB raw ADC", "FRXB_rawadc"}, {"frybRawAdc", "Raster YB raw ADC", "FRYB_rawadc"}, {"frxa_adc", "Raster XA ADC", "fXA_ADC"}, {"frya_adc", "Raster YA ADC", "fYA_ADC"}, @@ -268,7 +268,7 @@ void THcRaster::AccumulatePedestals(TClonesArray* rawhits) for(Int_t ielem = 0; ielem < frPosAdcPulseIntRaw->GetEntries(); ielem++) { Int_t nraster = ((THcSignalHit*) frPosAdcPulseIntRaw->ConstructedAt(ielem))->GetPaddleNumber() - 1; Double_t pulseIntRaw = ((THcSignalHit*) frPosAdcPulseIntRaw->ConstructedAt(ielem))->GetData(); - if (nraster ==0) fPedADC[0] = pulseIntRaw; + if (nraster ==0) fPedADC[0] = pulseIntRaw; if (nraster ==1) fPedADC[1] = pulseIntRaw; if (nraster ==2) fPedADC[2] = pulseIntRaw; if (nraster ==3) fPedADC[3] = pulseIntRaw; @@ -299,10 +299,10 @@ void THcRaster::CalculatePedestals( ) endif */ - fFrXA_ADC_zero_offset = fPedADC[0]/ fNPedestalEvents; - fFrXB_ADC_zero_offset = fPedADC[1]/ fNPedestalEvents; - fFrYA_ADC_zero_offset = fPedADC[2]/ fNPedestalEvents; - fFrYB_ADC_zero_offset = fPedADC[3]/ fNPedestalEvents; + fFrYA_ADC_zero_offset = fPedADC[0]/ fNPedestalEvents; + fFrXA_ADC_zero_offset = fPedADC[1]/ fNPedestalEvents; + fFrYB_ADC_zero_offset = fPedADC[2]/ fNPedestalEvents; + fFrXB_ADC_zero_offset = fPedADC[3]/ fNPedestalEvents; } @@ -354,10 +354,10 @@ Int_t THcRaster::Decode( const THaEvData& evdata ) for(Int_t ielem = 0; ielem < frPosAdcPulseIntRaw->GetEntries(); ielem++) { Int_t nraster = ((THcSignalHit*) frPosAdcPulseIntRaw->ConstructedAt(ielem))->GetPaddleNumber() - 1; Double_t pulseIntRaw = ((THcSignalHit*) frPosAdcPulseIntRaw->ConstructedAt(ielem))->GetData(); - if (nraster ==0) FRXA_rawadc = pulseIntRaw; - if (nraster ==1) FRXB_rawadc = pulseIntRaw; - if (nraster ==2) FRYA_rawadc = pulseIntRaw; - if (nraster ==3) FRYB_rawadc = pulseIntRaw; + if (nraster ==0) FRYA_rawadc = pulseIntRaw; + if (nraster ==1) FRXA_rawadc = pulseIntRaw; + if (nraster ==2) FRYB_rawadc = pulseIntRaw; + if (nraster ==3) FRXB_rawadc = pulseIntRaw; } @@ -404,9 +404,9 @@ gHcParms->LoadParmValues(list); */ fXA_pos = (fXA_ADC/fFrXA_ADCperCM)*(fFrCalMom/fgpBeam); - fYA_pos = (fYA_ADC/fFrYA_ADCperCM)*(fFrCalMom/fgpBeam); + fYA_pos = (-1)*(fYA_ADC/fFrYA_ADCperCM)*(fFrCalMom/fgpBeam); fXB_pos = (fXB_ADC/fFrXB_ADCperCM)*(fFrCalMom/fgpBeam); - fYB_pos = (fYB_ADC/fFrYB_ADCperCM)*(fFrCalMom/fgpBeam); + fYB_pos = (-1)*(fYB_ADC/fFrYB_ADCperCM)*(fFrCalMom/fgpBeam); // std::cout<<" X = "<<fXpos<<" Y = "<<fYpos<<std::endl; @@ -415,11 +415,12 @@ gHcParms->LoadParmValues(list); Double_t tp; if(fgusefr != 0) { fPosition[1].SetXYZ(fXA_pos+fgbeam_xoff, fYA_pos+fgbeam_yoff, 0.0); - tt = fXA_pos/fgfrx_dist+fgbeam_xpoff; + tt = (-1)*(fXA_pos/fgfrx_dist+fgbeam_xpoff); tp = fYA_pos/fgfry_dist+fgbeam_ypoff; + } else { // Just use fixed beam position and angle fPosition[0].SetXYZ(fgbeam_xoff, fgbeam_yoff, 0.0); - tt = fgbeam_xpoff; + tt = (-1)*fgbeam_xpoff; tp = fgbeam_ypoff; } fDirection.SetXYZ(tt, tp ,1.0); // Set arbitrarily to avoid run time warnings diff --git a/src/THcRaster.h b/src/THcRaster.h index 0fbcadbf86c6a512b74599a00091434e87c9f05b..93d195f94e83020d78719feb75e0a18f20d350b3 100644 --- a/src/THcRaster.h +++ b/src/THcRaster.h @@ -42,7 +42,6 @@ class THcRaster : public THaBeamDet, public THcHitList { Int_t Process(); - // TVector3 GetPosition() const { return fPosition[2]; } TVector3 GetPosition() const { return fPosition[1]; } TVector3 GetDirection() const { return fDirection; } @@ -91,7 +90,7 @@ class THcRaster : public THaBeamDet, public THcHitList { //Double_t fAvgPedADC[4]; // Avergage ADC poedestals Double_t fRawPos[2]; // current in Raster ADCs for position - TVector3 fPosition[4]; // Beam position at 1st, 2nd BPM or at the target (meters) + TVector3 fPosition[2]; // Beam position at 1st, 2nd BPM or at the target (meters) TVector3 fDirection; TClonesArray* frPosAdcPulseIntRaw;