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 |
![]() | |
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 |
![]() | |
void | Reset () |
double | GetGain (int padNum, int numElectrons) |
void | GenerateTraceFromElectrons () |
void | FillPad (AtPad &pad, TH1F &hist) |
void | ApplyNoise (AtPad &pad) |
Additional Inherited Members | |
![]() | |
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 > |
![]() | |
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.