Project
Loading...
Searching...
No Matches
IOTOFBaseParam.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 O2_IOTOF_BASEPARAM_H
13#define O2_IOTOF_BASEPARAM_H
14
17
18namespace o2
19{
20namespace iotof
21{
22
24 int NCols = 0;
25 int NRows = 0;
26 float PitchCol = 0.;
27 float PitchRow = 0.;
29 float PassiveEdgeTop = 0.;
30 float PassiveEdgeSide = 0.;
35
36 int NPixels() const { return NCols * NRows; }
37 float ActiveMatrixSizeCols() const { return PitchCol * NCols; }
38 float ActiveMatrixSizeRows() const { return PitchRow * NRows; }
39 float SensorSizeCols() const { return ActiveMatrixSizeCols() + 2 * PassiveEdgeSide; }
41};
42
45 {
46 NCols = 129;
47 NRows = 271;
48 PitchCol = 250.00e-4;
49 PitchRow = 100.00e-4;
51 PassiveEdgeTop = 0.;
52 PassiveEdgeSide = 0.;
56 SensorLayerThickness = 50.e-4;
57 }
58};
59
62 {
63 NCols = 125;
64 NRows = 243;
65 PitchCol = 250.00e-4;
66 PitchRow = 100.00e-4;
67 PassiveEdgeTop = 50.e-4;
68 PassiveEdgeSide = 115.8e-4;
69 PassiveEdgeReadOut = 50.e-4;
73 SensorLayerThickness = 50.e-4;
74 }
75};
76
77struct ITOFChipSpecificParam : public o2::conf::ConfigurableParamPromoter<ITOFChipSpecificParam, ITOFChipSpecifics> {
78 O2ParamDef(ITOFChipSpecificParam, "ITOFChipSpecific");
79};
80
81struct OTOFChipSpecificParam : public o2::conf::ConfigurableParamPromoter<OTOFChipSpecificParam, OTOFChipSpecifics> {
82 O2ParamDef(OTOFChipSpecificParam, "OTOFChipSpecific");
83};
84
85struct IOTOFBaseParam : public o2::conf::ConfigurableParamHelper<IOTOFBaseParam> {
86 bool enableInnerTOF = true; // Enable Inner TOF layer
87 bool enableOuterTOF = true; // Enable Outer TOF layer
88 bool enableForwardTOF = true; // Enable Forward TOF layer
89 bool enableBackwardTOF = true; // Enable Backward TOF layer
90 std::string detectorPattern = ""; // Layouts of the detector
91 bool segmentedInnerTOF = false; // If the inner TOF layer is segmented
92 bool segmentedOuterTOF = false; // If the outer TOF layer is segmented
93 float x2x0 = 0.02f; // thickness expressed in radiation length, for all layers for the moment
94 float sensorThickness = 0.0050f; // thickness of the sensor in cm, for all layers for the moment, the default is set to 50 microns
95
97};
98
99} // namespace iotof
100} // end namespace o2
101
102#endif
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
float ActiveMatrixSizeRows() const
float ActiveMatrixSizeCols() const
O2ParamDef(IOTOFBaseParam, "IOTOFBase")
O2ParamDef(ITOFChipSpecificParam, "ITOFChipSpecific")
O2ParamDef(OTOFChipSpecificParam, "OTOFChipSpecific")