Project
Loading...
Searching...
No Matches
AlignableDetectorITS.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 ALIGNABLEDETECTORITS_H
18#define ALIGNABLEDETECTORITS_H
19
21#include "Align/utils.h"
26
27namespace o2
28{
29namespace itsmft
30{
31class TopologyDictionary;
32}
33
34namespace align
35{
36
37class Controller;
38
40{
41 public:
42 //
49 AlignableDetectorITS() = default; // RS FIXME do we need default c-tor?
51 ~AlignableDetectorITS() override = default;
52 //
53 // virtual void initGeom() final;
54 void defineVolumes() final;
55 //
56 // RSTODO
57 // bool AcceptTrack(const AliESDtrack* trc, int trtype) const;
58
59 int processPoints(GIndex gid, int npntCut, bool inv) final;
60 bool prepareDetectorData() final;
61
62 void SetAddErrorLr(int ilr, double sigY, double sigZ);
63 void SetSkipLr(int ilr);
64 //
65 void updatePointByTrackInfo(AlignmentPoint* pnt, const trackParam_t* t) const override;
66 void setUseErrorParam(int v = 0) override;
67 //
68 void setITSDictionary(const o2::itsmft::TopologyDictionary* d) { mITSDict = d; }
69 //
70 void Print(const Option_t* opt = "") const override;
71 //
72 protected:
73 //
74 // -------- dummies --------
77 //
78 protected:
79 //
81 std::vector<int> mOverlapCandidateID; // pool of composed IDs of the potentially overlapping clusters
82 std::vector<int> mOverlapClusRef; // 1st entry in mOverlapCandidateID for the overlapping clusters of each cluster, indexed by the flat cluster index
83 std::vector<o2::itsmft::ChipMappingITS::Overlaps> mOverlaps;
84 const o2::itsmft::TopologyDictionary* mITSDict{nullptr}; // cluster patterns dictionary
85 //
87};
88} // namespace align
89} // namespace o2
90#endif
Base class for detector: wrapper for set of volumes.
Container of the ITS/MFT clusters addressed by the composed (layer,index) ID.
Collection of auxillary methods.
AlignableDetectorITS & operator=(const AlignableDetectorITS &)
o2::itsmft::ClustersPerLayer< ClusterD > mITSClustersArray
AlignableDetectorITS(const AlignableDetectorITS &)
void setITSDictionary(const o2::itsmft::TopologyDictionary *d)
void updatePointByTrackInfo(AlignmentPoint *pnt, const trackParam_t *t) const override
~AlignableDetectorITS() override=default
int processPoints(GIndex gid, int npntCut, bool inv) final
ClassDefOverride(AlignableDetectorITS, 1)
std::vector< o2::itsmft::ChipMappingITS::Overlaps > mOverlaps
void Print(const Option_t *opt="") const override
void SetAddErrorLr(int ilr, double sigY, double sigZ)
const o2::itsmft::TopologyDictionary * mITSDict
const GLdouble * v
Definition glcorearb.h:832
typename track::TrackParametrizationWithError< double > trackParam_t
Definition utils.h:29
void align(gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
these public methods must be defined in the mapping class for raw data encoding/decoding