Project
Loading...
Searching...
No Matches
HitMapBuilder.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
16
17#ifndef O2_MID_HITMAPBUILDER_H
18#define O2_MID_HITMAPBUILDER_H
19
20#include <vector>
21#include <unordered_map>
22#include <gsl/gsl>
28#include "MIDBase/HitFinder.h"
29#include "MIDBase/Mapping.h"
30
31namespace o2
32{
33namespace mid
34{
37{
38 public:
41 HitMapBuilder(const GeometryTransformer& geoTrans);
42
44 ~HitMapBuilder() = default;
45
49 void buildTrackInfo(Track& track, gsl::span<const Cluster> clusters) const;
50
54 void process(std::vector<Track>& tracks, gsl::span<const Cluster> clusters) const;
55
59 void setMaskedChannels(const std::vector<ColumnData>& maskedChannels, bool clear);
60
61 private:
66 bool crossCommonElement(const std::vector<int>& fired, const std::vector<int>& nonFired) const;
67
74 int getEffFlag(const std::vector<int>& firedFEEIdMT11, const std::vector<int>& nonFiredFEEIdMT11) const;
75
81 int getFEEIdMT11(double xp, double yp, uint8_t deId) const;
82
86 bool matchesMaskedChannel(const Cluster& cl) const;
87
88 Mapping mMapping;
89 HitFinder mHitFinder;
90 std::unordered_map<int, std::vector<MpArea>> mMaskedChannels;
91};
92} // namespace mid
93} // namespace o2
94
95#endif /* O2_MID_HITMAPBUILDER_H */
Strip pattern (aka digits)
Reconstructed MID cluster.
Reconstructed MID track.
Geometry transformer for MID.
Hit finder for MID.
std::vector< o2::its::TrackITS > tracks
Mapping for MID.
Definition of the MID event record.
Class to find the impact point of a track on the chamber.
Definition HitFinder.h:31
Hit map builder for MID.
void process(std::vector< Track > &tracks, gsl::span< const Cluster > clusters) const
~HitMapBuilder()=default
Default destructor.
void setMaskedChannels(const std::vector< ColumnData > &maskedChannels, bool clear)
void buildTrackInfo(Track &track, gsl::span< const Cluster > clusters) const
This class defines the MID track.
Definition Track.h:30
simClustering correlation clear()
std::vector< Cluster > clusters
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
cluster structure for MID
Definition Cluster.h:30