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 = 120;
25 int NRows = 240;
26 float PitchCol = 250.00e-4;
27 float PitchRow = 100.00e-4;
28 float PassiveEdgeReadOut = 0.2;
29 float PassiveEdgeTop = 0.;
30 float PassiveEdgeSide = 0.;
34 float SensorLayerThickness = 50.e-4;
35
36 int NPixels() const { return NCols * NRows; }
37 float ActiveMatrixSizeCols() const { return PitchCol * NCols; }
38 float ActiveMatrixSizeRows() const { return PitchRow * NRows; }
41};
42
43struct ChipSpecificsParam : public o2::conf::ConfigurableParamPromoter<ChipSpecificsParam, ChipSpecifics> {
44 O2ParamDef(ChipSpecificsParam, "ChipSpecificsParam")
45};
46
47struct IOTOFBaseParam : public o2::conf::ConfigurableParamHelper<IOTOFBaseParam> {
48 bool enableInnerTOF = true; // Enable Inner TOF layer
49 bool enableOuterTOF = true; // Enable Outer TOF layer
50 bool enableForwardTOF = false; // Enable Forward TOF layer
51 bool enableBackwardTOF = false; // Enable Backward TOF layer
52 bool itofTurbo = true; // Segmented ITOF turbo or staggered
53 std::string detectorPattern = ""; // Layouts of the detector
54 bool segmentedInnerTOF = true; // If the inner TOF layer is segmented
55 bool segmentedOuterTOF = true; // If the outer TOF layer is segmented
56 float x2x0 = 0.02f; // thickness expressed in radiation length, for all layers for the moment
57 float sensorThickness = 0.0050f; // thickness of the sensor in cm, for all layers for the moment, the default is set to 50 microns
58
59 // ITOF segmentation parameters
60 float itofRadius = 21.38f; // ITOF radius (cm)
61 float itofLength = 126.82f; // ITOF length (cm)
62 int itofNStaves = 28; // ITOF number of staves
63 float itofStaveTilt = 6.63; // ITOF stave tilt angle (deg)
64
65 // OTOF segmentation parameters
66 float otofRadius = 92.f; // OTOF radius (cm)
67 float otofLength = 688.54f; // OTOF length (cm)
68 int otofNStaves = 62; // OTOF number of staves
69 float otofStaveTilt = 5; // OTOF stave tilt angle (deg)
70
72};
73
74} // namespace iotof
75} // end namespace o2
76
77#endif
#define O2ParamDef(classname, key)
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")