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"
25
26namespace o2
27{
28namespace itsmft
29{
30class TopologyDictionary;
31}
32
33namespace align
34{
35
36class Controller;
37
39{
40 public:
41 //
48 AlignableDetectorITS() = default; // RS FIXME do we need default c-tor?
50 ~AlignableDetectorITS() override = default;
51 //
52 // virtual void initGeom() final;
53 void defineVolumes() final;
54 //
55 // RSTODO
56 // bool AcceptTrack(const AliESDtrack* trc, int trtype) const;
57
58 int processPoints(GIndex gid, int npntCut, bool inv) final;
59 bool prepareDetectorData() final;
60
61 void SetAddErrorLr(int ilr, double sigY, double sigZ);
62 void SetSkipLr(int ilr);
63 //
64 void updatePointByTrackInfo(AlignmentPoint* pnt, const trackParam_t* t) const override;
65 void setUseErrorParam(int v = 0) override;
66 //
67 void setITSDictionary(const o2::itsmft::TopologyDictionary* d) { mITSDict = d; }
68 //
69 void Print(const Option_t* opt = "") const override;
70 //
71 protected:
72 //
73 // -------- dummies --------
76 //
77 protected:
78 //
79 std::vector<ClusterD> mITSClustersArray;
80 std::vector<int> mOverlapCandidateID; // pool of indices for potentially overlapping clusters
81 std::vector<int> mOverlapClusRef; // 1st entry in mOverlapCandidateID for the overlapping cluster indices of each cluster
82 std::vector<o2::itsmft::ChipMappingITS::Overlaps> mOverlaps;
83 const o2::itsmft::TopologyDictionary* mITSDict{nullptr}; // cluster patterns dictionary
84 //
86};
87} // namespace align
88} // namespace o2
89#endif
Base class for detector: wrapper for set of volumes.
Collection of auxillary methods.
AlignableDetectorITS & operator=(const AlignableDetectorITS &)
AlignableDetectorITS(const AlignableDetectorITS &)
void setITSDictionary(const o2::itsmft::TopologyDictionary *d)
std::vector< ClusterD > mITSClustersArray
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