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

#include <AtPulseGADGET.h>

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

Public Member Functions

 AtPulseGADGET (AtMapPtr map)
 
 ~AtPulseGADGET ()=default
 
void SetSigmaPercent (Float_t sigma)
 
void SetAdjecentPads (Int_t pads)
 
virtual AtRawEvent GenerateEvent (std::vector< AtSimulatedPoint * > &vec) override
 Executed for each event. More...
 
virtual std::shared_ptr< AtPulseClone () const override
 
- Public Member Functions inherited from AtPulse
 AtPulse (AtMapPtr map, ResponseFunc response=nullptr)
 
 AtPulse (const AtPulse &)
 
void SetParameters (const AtDigiPar *fPar)
 
AtMapPtr GetMap ()
 
void UseFastGain (bool val)
 
void SetNoiseSigma (double val)
 
void SetSaveCharge (bool val)
 
void SetDoConvolution (bool val)
 
AtRawEvent GenerateEvent (std::vector< SimPointPtr > &vec)
 

Protected Member Functions

Double_t ChargeDispersion (Double_t G, Double_t time, Double_t x0, Double_t y0, Double_t xi, Double_t yi)
 
virtual bool AssignElectronsToPad (AtSimulatedPoint *point) override
 
- Protected Member Functions inherited from AtPulse
void Reset ()
 
double GetGain (int padNum, int numElectrons)
 
void GenerateTraceFromElectrons ()
 
void FillPad (AtPad &pad, TH1F &hist)
 
void ApplyNoise (AtPad &pad)
 

Additional Inherited Members

- Protected Types inherited from AtPulse
using AtMapPtr = std::shared_ptr< AtMap >
 
using ResponseFunctionType = std::add_pointer_t< double(double)>
 
using ResponseFunc = std::function< double(int, double)>
 Function (or callable object) to use as the response function. Parameters are padNum and time (us) More...
 
using XYZVector = ROOT::Math::XYZVector
 
using XYZPoint = ROOT::Math::XYZPoint
 
using SimPointPtr = std::unique_ptr< AtSimulatedPoint >
 
- Protected Attributes inherited from AtPulse
AtMapPtr fMap
 AtTPC map. More...
 
int fEventID = 0
 
double fGain = 0
 EventID. More...
 
double fLowGainFactor = 0
 Micromegas gain. More...
 
double fGETGain = 0
 If pad is AtMap::kLowGain multiply gain by this factor. More...
 
double fPeakingTime = 0
 GET Gain (ADC ch/electron). More...
 
double fTBTime = 0
 Electronic peaking time in us. More...
 
int fNumTbs {512}
 Time bucket size in us. More...
 
int fTBEntrance = 0
 Number of time buckers. More...
 
int fTBPadPlane = 0
 Window location in timebuckets (from config) More...
 
ResponseFunc fResponse
 Pad plane location in TBs (calculated from DriftVelocity, TBEntrance, ZPadPlane. More...
 
bool fUseFastGain = true
 Response function of the electronics. More...
 
double fNoiseSigma = 0
 
bool fSaveCharge = true
 Sigma of random gaussian noise to apply to trace. More...
 
bool fDoConvolution {true}
 
std::vector< std::unique_ptr< TH1F > > fPadCharge
 
std::set< int > fPadsWithCharge
 
std::unique_ptr< TF1 > fGainFunc
 
double fAvgGainDeviation {}
 

Detailed Description

Definition at line 21 of file AtPulseGADGET.h.

Constructor & Destructor Documentation

◆ AtPulseGADGET()

AtPulseGADGET::AtPulseGADGET ( AtMapPtr  map)

Definition at line 27 of file AtPulseGADGET.cxx.

◆ ~AtPulseGADGET()

AtPulseGADGET::~AtPulseGADGET ( )
default

Member Function Documentation

◆ AssignElectronsToPad()

bool AtPulseGADGET::AssignElectronsToPad ( AtSimulatedPoint point)
overrideprotectedvirtual

Assign electons to pad and apply the gain from the umegas (including gain reduction from smartzap) Returns if we were able to add the point to a pad.

Reimplemented from AtPulse.

Definition at line 39 of file AtPulseGADGET.cxx.

◆ ChargeDispersion()

Double_t AtPulseGADGET::ChargeDispersion ( Double_t  G,
Double_t  time,
Double_t  x0,
Double_t  y0,
Double_t  xi,
Double_t  yi 
)
protected

Definition at line 29 of file AtPulseGADGET.cxx.

◆ Clone()

virtual std::shared_ptr<AtPulse> AtPulseGADGET::Clone ( ) const
inlineoverridevirtual

Reimplemented from AtPulse.

Definition at line 47 of file AtPulseGADGET.h.

◆ GenerateEvent()

AtRawEvent AtPulseGADGET::GenerateEvent ( std::vector< AtSimulatedPoint * > &  vec)
overridevirtual

Executed for each event.

Reimplemented from AtPulse.

Definition at line 103 of file AtPulseGADGET.cxx.

◆ SetAdjecentPads()

void AtPulseGADGET::SetAdjecentPads ( Int_t  pads)
inline

Definition at line 44 of file AtPulseGADGET.h.

◆ SetSigmaPercent()

void AtPulseGADGET::SetSigmaPercent ( Float_t  sigma)
inline

Definition at line 43 of file AtPulseGADGET.h.


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