Project
Loading...
Searching...
No Matches
DPLDigitizerParam.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
12#ifndef ALICEO2_ITSMFTDPLDIGITIZERPARAM_H_
13#define ALICEO2_ITSMFTDPLDIGITIZERPARAM_H_
14
18#include <string_view>
19
20namespace o2
21{
22namespace itsmft
23{
24template <int N>
25struct DPLDigitizerParam : public o2::conf::ConfigurableParamHelper<DPLDigitizerParam<N>> {
26 static_assert(N == o2::detectors::DetID::ITS || N == o2::detectors::DetID::MFT, "only DetID::ITS orDetID:: MFT are allowed");
27
28 static constexpr std::string_view getParamName()
29 {
30 return N == o2::detectors::DetID::ITS ? ParamName[0] : ParamName[1];
31 }
32
33 bool continuous = true;
34 float noisePerPixel = DEFNoisePerPixel();
35 float strobeFlatTop = 7500.;
36 float strobeMaxRiseTime = 1100.;
37 float strobeQRiseTime0 = 450.;
38
39 double timeOffset = 0.;
40 int chargeThreshold = 150;
42 int nSimSteps = 7;
43 float energyToNElectrons = 1. / 3.6e-9; // conversion of eloss to Nelectrons
44
45 float Vbb = 0.0;
46 float IBVbb = 0.0;
47 float OBVbb = 0.0;
48
49 std::string noiseFilePath{};
50
51 // boilerplate stuff + make principal key
53
54 private:
55 static constexpr float DEFNoisePerPixel()
56 {
57 return N == o2::detectors::DetID::ITS ? 1e-8 : 1e-8;
58 }
59
60 static constexpr std::string_view ParamName[2] = {"ITSDigitizerParam", "MFTDigitizerParam"};
61};
62
63template <int N>
64DPLDigitizerParam<N> DPLDigitizerParam<N>::sInstance;
65
66} // namespace itsmft
67} // namespace o2
68
69#endif
static constexpr ID ITS
Definition DetID.h:63
static constexpr ID MFT
Definition DetID.h:71
GLboolean * data
Definition glcorearb.h:298
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
float IBVbb
back bias absolute value for ITS Inner Barrel (in Volt)
static constexpr std::string_view getParamName()
float noisePerPixel
ALPIDE Noise per channel.
O2ParamDef(DPLDigitizerParam, getParamName().data())
double timeOffset
time offset (in seconds!) to calculate ROFrame from hit time
bool continuous
flag for continuous simulation
int chargeThreshold
charge threshold in Nelectrons
float OBVbb
back bias absolute value for ITS Outter Barrel (in Volt)
float strobeFlatTop
strobe shape flat top
int minChargeToAccount
minimum charge contribution to account
float strobeQRiseTime0
q @ which strobe rise time is 0
int nSimSteps
number of steps in response simulation
float Vbb
back bias absolute value for MFT (in Volt)
std::string noiseFilePath
optional noise masks file path. FIXME to be removed once switch to CCDBFetcher
float strobeMaxRiseTime
strobe max rise time