ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Public Types | Public Member Functions | List of all members
AtRadialChargeModel Class Reference

Space charge model from arbitrary radial E-field,. More...

#include <AtRadialChargeModel.h>

Inheritance diagram for AtRadialChargeModel:
Inheritance graph
[legend]
Collaboration diagram for AtRadialChargeModel:
Collaboration graph
[legend]

Public Types

using EFieldPtr = std::function< double(double rho, double z)>
 

Public Member Functions

 AtRadialChargeModel (EFieldPtr efield)
 
virtual XYZPoint CorrectSpaceCharge (const XYZPoint &directInputPosition) override
 Using model correct for space charge. More...
 
virtual XYZPoint ApplySpaceCharge (const XYZPoint &reverseInputPosition) override
 Using model add space charge effect. More...
 
void SetDistortionField (EFieldPtr field)
 
void SetStepSize (double setSize)
 
void SetEField (double field)
 
void SetDriftVelocity (double v)
 
void LoadParameters (const AtDigiPar *par) override
 Load common parameters from AtDigiPar. More...
 
- Public Member Functions inherited from AtSpaceChargeModel
virtual ~AtSpaceChargeModel ()=default
 
void SetBeamLocation (XYZPoint window, XYZPoint padPlane)
 

Additional Inherited Members

- Protected Types inherited from AtSpaceChargeModel
using XYZPoint = ROOT::Math::XYZPoint
 
- Protected Member Functions inherited from AtSpaceChargeModel
XYZPoint OffsetForBeam (XYZPoint point)
 
XYZPoint UndoOffsetForBeam (XYZPoint point)
 
- Protected Attributes inherited from AtSpaceChargeModel
XYZPoint fWindow {0, 0, 0}
 
XYZPoint fPadPlane {0, 0, 1000}
 

Detailed Description

Space charge model from arbitrary radial E-field,.

Calculates the displacement of electrons from an arbirary radial E-field. Uses AtDigiPar to get gas parameters of interest.

Definition at line 18 of file AtRadialChargeModel.h.

Member Typedef Documentation

◆ EFieldPtr

using AtRadialChargeModel::EFieldPtr = std::function<double(double rho, double z)>

Definition at line 20 of file AtRadialChargeModel.h.

Constructor & Destructor Documentation

◆ AtRadialChargeModel()

AtRadialChargeModel::AtRadialChargeModel ( EFieldPtr  efield)

Definition at line 29 of file AtRadialChargeModel.cxx.

Member Function Documentation

◆ ApplySpaceCharge()

XYZPoint AtRadialChargeModel::ApplySpaceCharge ( const XYZPoint position)
overridevirtual

Using model add space charge effect.

Used to simulate the effect of this space charge model.

Parameters
[in]posPosition charge was deposited in detector [mm].
Returns
Position charge hits the pad plane [mm].

Implements AtSpaceChargeModel.

Definition at line 39 of file AtRadialChargeModel.cxx.

◆ CorrectSpaceCharge()

XYZPoint AtRadialChargeModel::CorrectSpaceCharge ( const XYZPoint position)
overridevirtual

Using model correct for space charge.

Used correct for space charge in data.

Parameters
[in]posPosition charge hits the pad plane [mm].
Returns
Position charge was deposited in the detector [mm].

Implements AtSpaceChargeModel.

Definition at line 31 of file AtRadialChargeModel.cxx.

◆ LoadParameters()

void AtRadialChargeModel::LoadParameters ( const AtDigiPar par)
overridevirtual

Load common parameters from AtDigiPar.

Will load any parameters used by the model from the parameter file attached to the run.

Implements AtSpaceChargeModel.

Definition at line 110 of file AtRadialChargeModel.cxx.

◆ SetDistortionField()

void AtRadialChargeModel::SetDistortionField ( EFieldPtr  field)
inline

Definition at line 43 of file AtRadialChargeModel.h.

◆ SetDriftVelocity()

void AtRadialChargeModel::SetDriftVelocity ( double  v)

Definition at line 125 of file AtRadialChargeModel.cxx.

◆ SetEField()

void AtRadialChargeModel::SetEField ( double  field)

Definition at line 120 of file AtRadialChargeModel.cxx.

◆ SetStepSize()

void AtRadialChargeModel::SetStepSize ( double  setSize)
inline

Definition at line 44 of file AtRadialChargeModel.h.


The documentation for this class was generated from the following files: