Skip to content
Snippets Groups Projects
THcRaster.h 2.23 KiB
Newer Older
#ifndef ROOT_THcRaster
#define ROOT_THcRaster

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// THcRaster                                                                 //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "THaBeamDet.h"
#include "TVector.h"
#include "TClonesArray.h"
#include "THcHitList.h"
#include "THcDetectorMap.h"
#include "THcRasterRawHit.h"
#include "THaCutList.h"
class THcRaster : public THaBeamDet, public THcHitList {
  THcRaster(const char* name, const char* description ="",THaApparatus* a = NULL );
  ~THcRaster();
  EStatus    Init( const TDatime& run_time );
  Int_t      Decode( const THaEvData& );
  Int_t      Process();
  //  TVector3 GetPosition()  const { return fPosition[2]; }
  TVector3 GetPosition()  const { return fPosition[0]; }
  TVector3 GetDirection() const { return fDirection; } // Hall C we don't use raster direction yet.
  Double_t GetCurrentX() { return fRawPos[0]; }
  Double_t GetCurrentY() { return fRawPos[1]; }
  /* void InitializeReconstruction(); */
  Int_t  ReadDatabase( const TDatime& date );
  Int_t DefineVariables( EMode mode );
  Double_t       fXADC;     // X current
  Double_t       fYADC;     // Y current
  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 
  Double_t       fRawPos[2];     // current in Raster ADCs for position
  TVector3       fPosition[2];   // Beam position at 1st, 2nd BPM or at the target (meters)
 private:
  Bool_t    fAnalyzePedestals;
  Int_t     fNPedestalEvents;
  Double_t  fFrCalMom;
  Double_t  fFrXADCperCM;
  Double_t  fFrYADCperCM;
  void   CalculatePedestals();
  void   AccumulatePedestals(TClonesArray* rawhits);

  ClassDef(THcRaster, 0);	// add THcRaster to ROOT library
};  

////////////////////////////////////////////////////////////////////////////////