Project
Loading...
Searching...
No Matches
ParameterElectronics.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
15
16#ifndef ALICEO2_TPC_ParameterElectronics_H_
17#define ALICEO2_TPC_ParameterElectronics_H_
18
19#include <array>
23
24namespace o2::tpc
25{
26
27enum class DigitzationMode : char {
28 FullMode = 0,
29 ZeroSuppression = 1,
32 NoSaturation = 4,
33 PropagateADC = 5,
34 Auto = 6,
35};
36
37struct ParameterElectronics : public o2::conf::ConfigurableParamHelper<ParameterElectronics> {
38 static constexpr int TIMEBININBC = 8;
39
40 int NShapedPoints = 8;
42 float PeakingTime = 160e-3f;
43 float ChipGain = 20.f;
44 float ADCdynamicRange = 2200.f;
45 float ADCsaturation = 1024.f;
47 float ElectronCharge = 1.602e-19f;
48 float adcToT = 1.f / 1024.f;
49 bool doIonTail = false;
50 bool doIonTailPerPad = false;
51 bool doCommonModePerPad = true;
52 bool doSaturationTail = false;
53 bool doNoiseEmptyPads = false;
54 bool applyDeadMap = true;
55 float commonModeCoupling = 0.5f;
57
63 float getAverageShapingTime() const { return PeakingTime + 35e-3f; }
64
66};
67} // namespace o2::tpc
68
69#endif // ALICEO2_TPC_ParameterElectronics_H_
Header to collect LHC related constants.
constexpr double LHCBunchSpacingNS
Global TPC definitions and constants.
Definition SimTraits.h:167
@ Auto
Automatically decide based on DCS settings in CCDB.
@ ZeroSuppressionCMCorr
Apply noise, pedestal and saturation and then from that subtract the pedestal and apply zero suppress...
@ ZeroSuppression
Apply noise, pedestal, common mode and saturation and then from that subtract the pedestal and apply ...
@ PropagateADC
Just propagate the bare ADC value.
@ FullMode
Apply noise, pedestal and saturation.
@ SubtractPedestal
Apply noise, pedestal and saturation and then from that subtract the pedestal.
@ NoSaturation
Apply only noise and pedestal.
float ADCdynamicRange
Dynamic range of the ADC [mV].
float ADCsaturation
ADC saturation [ADC counts].
float commonModeCoupling
average coupling of common mode signal
float ZbinWidth
Width of a z bin [us].
float PeakingTime
Peaking time of the SAMPA [us].
bool doIonTailPerPad
add ion tail in simulation using pad-by-pad values
bool doSaturationTail
add saturation tail in simulation
bool applyDeadMap
apply dead channel map
bool doCommonModePerPad
add common mode in simulation using pad-by-pad values
DigitzationMode DigiMode
Digitization mode [full / ... ].
O2ParamDef(ParameterElectronics, "TPCEleParam")
float ElectronCharge
Electron charge [C].
bool doNoiseEmptyPads
add noise in pads without signal in simulation
float adcToT
relation between time over threshold and ADC value
bool doIonTail
add ion tail in simulation
float ChipGain
Gain of the SAMPA [mV/fC] - may be either 20 or 30.