diff --git a/examples/output_bpw.def b/examples/output_bpw.def index ff1e98565ded9021242ddbdb1a6c8f63ce7bbb66..0fc62484ef2387c8abe7993aa0daf637ecfc0457 100644 --- a/examples/output_bpw.def +++ b/examples/output_bpw.def @@ -175,7 +175,9 @@ TH1F hs2yfptime 'HODO s2y fptime' H.hod.2y.fptime 80 0 80 H.hod.hgoodstarttime TH1F starttime 'HODO start time' H.hod.starttime 80 0 80 H.hod.hgoodstarttime # Beam related ADC channels. eg. raster -TH1F rstrx_i 'Raster X Current' RB.raster.xcurrent 4000 -2000 2000 -TH1F rstry_i 'Raster Y Current' RB.raster.ycurrent 4000 -2000 2000 -TH1F rstrx_p 'Raster X Position' RB.raster.xpos 40 -20 20 -TH1F rstry_p 'Raster Y Position' RB.raster.ypos 40 -20 20 +TH1F frx_raw_adc 'Raster X Raw ADC' RB.raster.frx_raw_adc 1200 3200 4400 +TH1F fry_raw_adc 'Raster Y Raw ADC' RB.raster.fry_raw_adc 1200 3200 4400 +TH1F frx_adc 'Raster X ADC' RB.raster.frx_adc 1000 -500 500 +TH1F fry_adc 'Raster Y ADC' RB.raster.fry_adc 1000 -500 500 +TH1F frx 'Raster X Position' RB.raster.frx 100 -0.5 0.5 +TH1F fry 'Raster Y Position' RB.raster.fry 100 -0.5 0.5 diff --git a/src/THcRaster.cxx b/src/THcRaster.cxx index de128f3ded4c1376305ace0ea67a03b6d9337a39..5e855514e011d67246156d4c53630c61594517be 100644 --- a/src/THcRaster.cxx +++ b/src/THcRaster.cxx @@ -40,6 +40,8 @@ THcRaster::THcRaster( const char* name, const char* description, fAnalyzePedestals = 0; fNPedestalEvents = 0; + fRawXADC = 0; + fRawYADC = 0; fXADC = 0; fYADC = 0; fXpos = 0; @@ -58,29 +60,19 @@ THcRaster::THcRaster( const char* name, const char* description, //_____________________________________________________________________________ THcRaster::~THcRaster() { - // delete [] fPedADC; - // delete [] fAvgPedADC; - + delete [] fPedADC; + delete [] fAvgPedADC; } - -//____________________________________________________________________________// _ -// void THcRaster::InitializeReconstruction() -// { - -// } - - + //_____________________________________________________________________________ Int_t THcRaster::ReadDatabase( const TDatime& date ) { // Read parameters such as calibration factor, of this detector from the database. - // static const char* const here = "THcRaster::ReadDatabase"; - - // InitializeReconstruction(); + cout << "THcRaster::ReadDatabase()" << endl; char prefix[2]; @@ -121,10 +113,12 @@ Int_t THcRaster::DefineVariables( EMode mode ) // Register variables in global list RVarDef vars[] = { - {"xcurrent", "Raster X current", "fXADC"}, - {"ycurrent", "Raster Y current", "fYADC"}, - {"xpos", "Raster X position", "fXpos"}, - {"ypos", "Raster Y position", "fYpos"}, + {"frx_raw_adc", "Raster X raw ADC", "fRawXADC"}, + {"fry_raw_adc", "Raster Y raw ADC", "fRawYADC"}, + {"frx_adc", "Raster X ADC", "fXADC"}, + {"fry_adc", "Raster Y ADC", "fYADC"}, + {"frx", "Raster X position", "fXpos"}, + {"fry", "Raster Y position", "fYpos"}, { 0 } }; @@ -258,13 +252,13 @@ Int_t THcRaster::Decode( const THaEvData& evdata ) THcRasterRawHit* hit = (THcRasterRawHit *) fRawHitList->At(ihit); if(hit->fADC_xsig>0) { - fRawADC[0] = hit->fADC_xsig; - // std::cout<<" Raw X = "<<fRawADC[0]<<std::endl; + fRawXADC = hit->fADC_xsig; + //std::cout<<" Raw X ADC = "<<fRawXADC<<std::endl; } if(hit->fADC_ysig>0) { - fRawADC[1] = hit->fADC_ysig; - // std::cout<<" Raw Y ADC = "<<fRawADC[1]<<std::endl; + fRawYADC = hit->fADC_ysig; + //std::cout<<" Raw Y ADC = "<<fRawYADC<<std::endl; } ihit++; } @@ -290,8 +284,8 @@ Int_t THcRaster::Process( ){ */ // calculate the raster currents - fXADC = fRawADC[0]-fAvgPedADC[0]; - fYADC = fRawADC[1]-fAvgPedADC[1]; + fXADC = fRawXADC-fAvgPedADC[0]; + fYADC = fRawYADC-fAvgPedADC[1]; //std::cout<<" Raw X ADC = "<<fXADC<<" Raw Y ADC = "<<fYADC<<std::endl; /* diff --git a/src/THcRaster.h b/src/THcRaster.h index 31176483afdd833a30aab302ad7619d279143eed..29d3f0829b1f2fe273a78c8d173e1cef45891b4a 100644 --- a/src/THcRaster.h +++ b/src/THcRaster.h @@ -40,14 +40,16 @@ class THcRaster : public THaBeamDet, public THcHitList { Int_t ReadDatabase( const TDatime& date ); Int_t DefineVariables( EMode mode ); - Double_t fgpbeam; // + Double_t fgpbeam; //beam momentum - Double_t fXADC; // X current - Double_t fYADC; // Y current + Double_t fRawXADC; // X raw ADC + Double_t fRawYADC; // Y raw ADC + Double_t fXADC; // X ADC + Double_t fYADC; // Y ADC Double_t fXpos; // X position Double_t fYpos; // Y position - Double_t fRawADC[2]; // raw ADC values + Double_t fPedADC[2]; // ADC poedestals Double_t fAvgPedADC[2]; // Avergage ADC poedestals