ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSpaceChargeModel.h
Go to the documentation of this file.
1 // Function to take in uncorrected position (VectorPoint3D) and return corrected position (vice/versa)
2 #ifndef ATSPACECHARGEMODEL_H
3 #define ATSPACECHARGEMODEL_H
4 
5 #include <Math/Point3D.h>
6 #include <Math/Point3Dfwd.h>
7 class AtDigiPar;
8 
10 protected:
12 
13  XYZPoint fWindow{0, 0, 0}; //<Beam location at window in mm
14  XYZPoint fPadPlane{0, 0, 1000}; //<Beam location at pad plane in mm
15 
16 public:
17  virtual ~AtSpaceChargeModel() = default;
25  virtual XYZPoint CorrectSpaceCharge(const XYZPoint &position) = 0;
26 
34  virtual XYZPoint ApplySpaceCharge(const XYZPoint &position) = 0;
35 
42  virtual void LoadParameters(const AtDigiPar *par) = 0;
43 
44  void SetBeamLocation(XYZPoint window, XYZPoint padPlane)
45  {
46  fWindow = window;
47  fPadPlane = padPlane;
48  }
49 
50 protected:
53 };
54 
55 #endif //#ifndef ATSPACECHARGEMODEL_H
AtSpaceChargeModel::~AtSpaceChargeModel
virtual ~AtSpaceChargeModel()=default
AtSpaceChargeModel::fPadPlane
XYZPoint fPadPlane
Definition: AtSpaceChargeModel.h:14
XYZPoint
ROOT::Math::XYZPoint XYZPoint
Definition: AtPatternCircle2D.h:18
AtSpaceChargeModel::UndoOffsetForBeam
XYZPoint UndoOffsetForBeam(XYZPoint point)
Definition: AtSpaceChargeModel.cxx:14
AtSpaceChargeModel::XYZPoint
ROOT::Math::XYZPoint XYZPoint
Definition: AtSpaceChargeModel.h:11
AtSpaceChargeModel::OffsetForBeam
XYZPoint OffsetForBeam(XYZPoint point)
Definition: AtSpaceChargeModel.cxx:8
AtSpaceChargeModel::LoadParameters
virtual void LoadParameters(const AtDigiPar *par)=0
Load common parameters from AtDigiPar.
AtSpaceChargeModel
Definition: AtSpaceChargeModel.h:9
AtDigiPar
Definition: AtDigiPar.h:14
AtSpaceChargeModel::SetBeamLocation
void SetBeamLocation(XYZPoint window, XYZPoint padPlane)
Definition: AtSpaceChargeModel.h:44
AtSpaceChargeModel::ApplySpaceCharge
virtual XYZPoint ApplySpaceCharge(const XYZPoint &position)=0
Using model add space charge effect.
AtSpaceChargeModel::fWindow
XYZPoint fWindow
Definition: AtSpaceChargeModel.h:13
AtSpaceChargeModel::CorrectSpaceCharge
virtual XYZPoint CorrectSpaceCharge(const XYZPoint &position)=0
Using model correct for space charge.