|
ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
#include <AtPulseLine.h>


Public Member Functions | |
| AtPulseLine (AtMapPtr map, ResponseFunc response=nullptr) | |
| xyIntegrationMap[padNum] = % of e- in event here More... | |
| AtPulseLine (const AtPulseLine &other)=default | |
| void | SetNumIntegrationPoints (uint numPoints) |
| void | SetNumSigmaToIntegrateZ (ushort zScore) |
| uint | GetNumIntegrationPoints () |
| ushort | SetNumSigmaToIntegrateZ () |
| virtual std::shared_ptr< AtPulse > | Clone () 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) |
| virtual AtRawEvent | GenerateEvent (std::vector< AtSimulatedPoint * > &vec) |
Protected Member Functions | |
| void | generateIntegrationMap (AtSimulatedLine &line) |
| int | throwRandomAndGetPadAfterDiffusion (const ROOT::Math::XYZVector &loc, double diffusionSigma) |
| int | integrateTimebuckets (std::vector< double > &zIntegral, AtSimulatedLine *line) |
| virtual bool | AssignElectronsToPad (AtSimulatedPoint *line) 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 {} |
Definition at line 16 of file AtPulseLine.h.
| AtPulseLine::AtPulseLine | ( | AtMapPtr | map, |
| ResponseFunc | response = nullptr |
||
| ) |
xyIntegrationMap[padNum] = % of e- in event here
Definition at line 29 of file AtPulseLine.cxx.
|
default |
|
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 66 of file AtPulseLine.cxx.
|
inlineoverridevirtual |
Reimplemented from AtPulse.
Definition at line 32 of file AtPulseLine.h.
|
protected |
Definition at line 44 of file AtPulseLine.cxx.
|
inline |
Definition at line 30 of file AtPulseLine.h.
|
protected |
Definition at line 96 of file AtPulseLine.cxx.
|
inline |
Definition at line 28 of file AtPulseLine.h.
|
inline |
Definition at line 31 of file AtPulseLine.h.
|
inline |
Definition at line 29 of file AtPulseLine.h.
|
protected |
Definition at line 34 of file AtPulseLine.cxx.
1.8.18