17#ifndef ALIGNABLEDETECTOR_H
18#define ALIGNABLEDETECTOR_H
78 return sid < 0 ? nullptr :
getSensor(sid);
90 int getSensID(
int lbl)
const {
return (lbl % 100000) < 50001 ? (lbl % 100000) - 1 : -1; }
91 int getNonSensID(
int lbl)
const {
return (lbl % 100000) < 50001 ? -1 : (lbl % 100000) - 50001; }
115 void Print(
const Option_t* opt =
"")
const override;
117 virtual void reset();
136 void setFreeDOFPattern(uint32_t pat = 0xffffffff,
int lev = -1,
const std::string& regexStr =
"");
137 void setDOFCondition(
int dof,
float condErr,
int lev = -1,
const std::string& regexStr =
"");
138 int selectVolumes(std::vector<AlignableVolume*> cont,
int lev = -1,
const std::string& regexStr =
"");
175 virtual void writePedeInfo(FILE* parOut,
const Option_t* opt =
"")
const;
182 void calcFree(
bool condFree =
false);
End-chain alignment volume in detector branch, where the actual measurement is done.
Base class of alignable volume.
Meausered point in the sensor.
Track model for the alignment.
Interface to contiguous set of DOFs in the controller class.
Collection of auxillary methods.
Extention of GlobalTrackID by flags relevant for verter-track association.
~AlignableDetector() override
void setDisabledColl(bool v=true)
virtual void applyAlignmentFromMPSol()
virtual int processPoints(GIndex gid, int npntCut=0, bool inv=false)
virtual void defineVolumes()
virtual bool prepareDetectorData()
bool mDisabled[utils::NTrackTypes]
AlignableDetector & operator=(const AlignableDetector &)
bool mObligatory[utils::NTrackTypes]
int selectVolumes(std::vector< AlignableVolume * > cont, int lev=-1, const std::string ®exStr="")
AlignableDetector(const AlignableDetector &)
int getSensID(int lbl) const
AlignableSensor * getSensor(int id) const
int getNPointsSelColl() const
void setObligatoryColl(bool v=true)
int mNPointsSel[utils::NTrackTypes]
int sID2VolID(int sid) const
virtual void writeLabeledPedeResults(FILE *parOut) const
void calcFree(bool condFree=false)
virtual void acknowledgeNewRun(int run)
virtual void setUseErrorParam(int v=0)
ClassDefOverride(AlignableDetector, 1)
number of points from this detector
void constrainOrphans(const double *sigma, const char *match=nullptr)
virtual void defineMatrices()
virtual void writeSensorPositions(const char *outFName)
virtual double getCalibDOFVal(int) const
AlignableDetector()=default
bool getInitDOFsDone() const
void setObligatory(int tp, bool v=true)
int volID2SID(int vid) const
virtual void addVolume(AlignableVolume *vol)
virtual void updateL2GRecoMatrices()
virtual void updatePointByTrackInfo(AlignmentPoint *pnt, const trackParam_t *t) const
void setNPointsSelCosm(int n)
bool IsDisabledCosm() const
bool ownsDOFID(int id) const
void setNPointsSelColl(int n)
int getNonSensLabel(int i) const
const double * getAddError() const
void setDisabledCosm(bool v=true)
AlignableSensor * getSensorByVolId(int vid) const
AlignableVolume * getVolOfDOFID(int id) const
int getUseErrorParam() const
void setDisabled(int tp, bool v)
AlignableVolume * getVolume(int id) const
AlignableVolume * getVolume(const char *symname) const
void setNPointsSel(int tp, int n)
bool sensorOfDetector(int vid) const
void setObligatoryCosm(bool v=true)
bool isObligatoryCosm() const
int getSensLabel(int i) const
int getNPointsSel(int tp) const
bool IsDisabledColl() const
virtual double getCalibDOFValWithCal(int) const
bool isFreeDOF(int dof) const
uint64_t getFreeDOFPattern() const
int getNPointsSelCosm() const
void setDOFCondition(int dof, float condErr, int lev=-1, const std::string ®exStr="")
virtual void writeAlignmentResults() const
virtual void writePedeInfo(FILE *parOut, const Option_t *opt="") const
bool isObligatory(int tp) const
int getNonSensID(int lbl) const
bool getInitGeomDone() const
void setFreeDOFPattern(uint64_t pat)
AlignableSensor * getSensor(const char *symname) const
virtual void cacheReferenceCCDB()
void addAutoConstraints() const
void Print(const Option_t *opt="") const override
void setAddError(double y, double z)
bool isCondDOF(int dof) const
bool isDisabled(int tp) const
int getNProcessedPoints() const
bool isObligatoryColl() const
virtual void writeCalibrationResults() const
virtual const char * getCalibDOFName(int) const
Static class with identifiers, bitmasks and names for ALICE detectors.
static constexpr const char * getName(ID id)
names of defined detectors
bool match(const std::vector< std::string > &queries, const char *pattern)
GLdouble GLdouble GLdouble z
typename track::TrackParametrizationWithError< double > trackParam_t
void align(gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...