-
Jure Bericic authoredJure Bericic authored
THcRaster.h 2.58 KiB
#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 {
public:
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[1]; }
TVector3 GetDirection() const { return fDirection; }
Double_t GetCurrentX() { return fRawPos[0]; }
Double_t GetCurrentY() { return fRawPos[1]; }
protected:
/* void InitializeReconstruction(); */
Int_t ReadDatabase( const TDatime& date );
Int_t DefineVariables( EMode mode );
Double_t fgpbeam; //beam momentum
Double_t fgfrx_dist; //Distance of raster to target
Double_t fgfry_dist;
Double_t fgbeam_xoff; // Beam offsets
Double_t fgbeam_xpoff; // Beam offsets
Double_t fgbeam_yoff; // Beam offsets
Double_t fgbeam_ypoff; // Beam offsets
Int_t fgusefr; /* Use Raster for beam position */
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 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)
TVector3 fDirection;
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
};
////////////////////////////////////////////////////////////////////////////////
#endif