Project
Loading...
Searching...
No Matches
AlignableDetectorTPC.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 ALIGNABLEDETECTORTPC_H
17
#define ALIGNABLEDETECTORTPC_H
18
19
#include "
Align/AlignableDetector.h
"
20
21
namespace
o2
22
{
23
namespace
align
24
{
25
26
class
AlignableDetectorTPC
final :
public
AlignableDetector
27
{
28
public
:
29
//
30
AlignableDetectorTPC
() =
default
;
31
AlignableDetectorTPC
(
Controller
* ctr);
32
~AlignableDetectorTPC
() final = default;
33
void
defineVolumes
() final;
34
void
Print
(const Option_t* opt = "") const final;
35
//
36
int
processPoints
(
GIndex
gid,
int
npntCut,
bool
inv) final;
37
38
void
setTrackTimeStamp
(
float
t) {
mTrackTimeStamp
= t; }
39
float
getTrackTimeStamp
()
const
{
return
mTrackTimeStamp
; }
40
41
int
getStack
(
int
padrow
)
const
42
{
43
for
(
int
i
= 0;
i
< 4;
i
++) {
44
if
(
padrow
<=
mStackMinMaxRow
[
i
].second) {
45
return
i
;
46
}
47
}
48
return
-1;
49
}
50
51
int
getDistanceToStackEdge
(
int
padrow
)
const
52
{
53
// distance to the stack min or max padrow
54
auto
st
=
getStack
(
padrow
);
55
if
(
st
< 0) {
56
return
-999;
57
}
58
return
std::min(
padrow
-
mStackMinMaxRow
[
st
].
first
,
mStackMinMaxRow
[
st
].second -
padrow
);
59
}
60
61
protected
:
62
//
63
float
mTrackTimeStamp
= 0.f;
// use track timestamp in \mus
64
static
constexpr
int
NSTACKS
= 4;
65
const
std::array<std::pair<int, int>,
NSTACKS
>
mStackMinMaxRow
= {std::pair<int, int>{0, 62}, std::pair<int, int>{63, 96}, std::pair<int, int>{97, 126}, std::pair<int, int>{127, 151}};
66
67
ClassDef
(
AlignableDetectorTPC
, 1);
68
};
69
}
// namespace align
70
}
// namespace o2
71
#endif
AlignableDetector.h
Base class for detector: wrapper for set of volumes.
i
int32_t i
Definition
GPUCommonAlgorithm.h:431
padrow
uint32_t padrow
Definition
RawData.h:5
st
benchmark::State & st
Definition
bench_ransEncodeImpl.cxx:288
int
o2::align::AlignableDetectorTPC
Definition
AlignableDetectorTPC.h:27
o2::align::AlignableDetectorTPC::~AlignableDetectorTPC
~AlignableDetectorTPC() final=default
o2::align::AlignableDetectorTPC::NSTACKS
static constexpr int NSTACKS
Definition
AlignableDetectorTPC.h:64
o2::align::AlignableDetectorTPC::getStack
int getStack(int padrow) const
Definition
AlignableDetectorTPC.h:41
o2::align::AlignableDetectorTPC::AlignableDetectorTPC
AlignableDetectorTPC()=default
o2::align::AlignableDetectorTPC::getDistanceToStackEdge
int getDistanceToStackEdge(int padrow) const
Definition
AlignableDetectorTPC.h:51
o2::align::AlignableDetectorTPC::getTrackTimeStamp
float getTrackTimeStamp() const
Definition
AlignableDetectorTPC.h:39
o2::align::AlignableDetectorTPC::mStackMinMaxRow
const std::array< std::pair< int, int >, NSTACKS > mStackMinMaxRow
Definition
AlignableDetectorTPC.h:65
o2::align::AlignableDetectorTPC::Print
void Print(const Option_t *opt="") const final
Definition
AlignableDetectorTPC.cxx:64
o2::align::AlignableDetectorTPC::ClassDef
ClassDef(AlignableDetectorTPC, 1)
o2::align::AlignableDetectorTPC::mTrackTimeStamp
float mTrackTimeStamp
Definition
AlignableDetectorTPC.h:63
o2::align::AlignableDetectorTPC::defineVolumes
void defineVolumes() final
Definition
AlignableDetectorTPC.cxx:44
o2::align::AlignableDetectorTPC::processPoints
int processPoints(GIndex gid, int npntCut, bool inv) final
Definition
AlignableDetectorTPC.cxx:71
o2::align::AlignableDetectorTPC::setTrackTimeStamp
void setTrackTimeStamp(float t)
Definition
AlignableDetectorTPC.h:38
o2::align::AlignableDetector
Definition
AlignableDetector.h:42
o2::align::Controller
Definition
Controller.h:91
o2::dataformats::VtxTrackIndex
Definition
VtxTrackIndex.h:31
o2::mch::raw::align
void align(gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
Definition
BareElinkEncoderMerger.h:36
o2
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Definition
BitstreamReader.h:24
Detectors
Align
include
Align
AlignableDetectorTPC.h
Generated on Fri Apr 4 2025 16:08:30 for Project by
1.9.8