ATLAS Offline Software
Loading...
Searching...
No Matches
IHGTDAlignDBTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HGTDALIGNGENTOOLS_IHGTDALIGNDBTOOL_H
6#define HGTDALIGNGENTOOLS_IHGTDALIGNDBTOOL_H
7
8// Interface for the HGTD alignment database tool.
9// The interface provides utilities to create, modify, retrieve,
10// print and store HGTD alignment payloads.
11// Alignment constants are represented at detector-module level,
12// where each HGTD detector element owns one AlignableTransform.
13// Fatima Bendebba, started 2026
14
15#include <string>
16
17#include "GaudiKernel/IAlgTool.h"
19
20class Identifier;
21
22static const InterfaceID
23IID_IHGTDAlignDBTool("IHGTDAlignDBTool",1,0);
24
25class IHGTDAlignDBTool : virtual public IAlgTool {
26
27public:
28 static const InterfaceID& interfaceID();
29
31 virtual StatusCode createDB() = 0;
32
34 virtual bool setTrans(const Identifier&,
35 unsigned int level,
36 const Amg::Transform3D&) const = 0;
37
39 virtual bool setTrans(const Identifier&,
40 unsigned int level,
41 const Amg::Vector3D&,
42 double alpha,
43 double beta,
44 double gamma) const = 0;
45
47 virtual bool tweakTrans(const Identifier&,
48 unsigned int level,
49 const Amg::Transform3D&) const = 0;
50
52 virtual bool tweakTrans(const Identifier&,
53 unsigned int level,
54 const Amg::Vector3D&,
55 double alpha,
56 double beta,
57 double gamma) const = 0;
58
61 unsigned int level) const = 0;
62
64 virtual StatusCode outputObjs() = 0;
65
67 virtual StatusCode fillDB(const std::string& tag,
68 unsigned int run1,
69 unsigned int event1,
70 unsigned int run2,
71 unsigned int event2) const = 0;
72
74 virtual void printDB() const = 0;
75
77 virtual void sortTrans() const = 0;
78};
79
80inline const InterfaceID&
85
86#endif
static const InterfaceID IID_IHGTDAlignDBTool("IHGTDAlignDBTool", 1, 0)
virtual bool setTrans(const Identifier &, unsigned int level, const Amg::Transform3D &) const =0
Replace the transform of one module.
static const InterfaceID & interfaceID()
virtual StatusCode createDB()=0
Create an empty alignment payload.
virtual StatusCode fillDB(const std::string &tag, unsigned int run1, unsigned int event1, unsigned int run2, unsigned int event2) const =0
Register payload in the Conditions DB.
virtual void printDB() const =0
Print payload.
virtual StatusCode outputObjs()=0
Stream payload to POOL.
virtual bool tweakTrans(const Identifier &, unsigned int level, const Amg::Transform3D &) const =0
Apply an incremental transform.
virtual bool setTrans(const Identifier &, unsigned int level, const Amg::Vector3D &, double alpha, double beta, double gamma) const =0
Replace the transform using translation + rotations.
virtual Amg::Transform3D getTrans(const Identifier &, unsigned int level) const =0
Retrieve transform.
virtual void sortTrans() const =0
Sort AlignableTransform entries.
virtual bool tweakTrans(const Identifier &, unsigned int level, const Amg::Vector3D &, double alpha, double beta, double gamma) const =0
Apply an incremental transform using translation + rotations.
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D