ATLAS Offline Software
|
This (clean) interface is implemented in the (rather dirty) ICaloCoordinateTool class, which depends on data-bases and H8 CTB specificities. More...
#include <ICaloCoordinateTool.h>
Public Member Functions | |
DeclareInterfaceID (ICaloCoordinateTool, 1, 0) | |
virtual void | ctb_to_local (Amg::Vector3D &pt_ctb, Amg::Vector3D &pt_local)=0 |
General use method: basic translation between the 2 cartesian coordinate systems: More... | |
virtual void | local_to_ctb (Amg::Vector3D &pt_local, Amg::Vector3D &pt_ctb)=0 |
General use method: basic translation between the 2 cartesian coordinate systems: More... | |
virtual void | ctb_to_local (double &x_ctb, double &y_ctb, double &z_ctb, double &x_local, double &y_local, double &z_local)=0 |
General use method: basic translation between the 2 cartesian coordinate systems: More... | |
virtual void | local_to_ctb (double &x_local, double &y_local, double &z_local, double &x_ctb, double &y_ctb, double &z_ctb)=0 |
General use method: basic translation between the 2 cartesian coordinate systems: More... | |
virtual double | beam_local_eta ()=0 |
the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ? More... | |
virtual double | beam_local_phi ()=0 |
the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ? More... | |
virtual void | read_table_position ()=0 |
clients who want the real position must call this More... | |
virtual void | read_fake_table_position ()=0 |
clients who want to avoid the DB-decoding, and force a fixed eta must call this : More... | |
virtual Amg::Transform3D * | transform_calo_to_ctb ()=0 |
method accessing the transformations More... | |
virtual Amg::Transform3D * | transform_ctb_to_calo ()=0 |
method accessing the transformations More... | |
virtual void | print_transform (Amg::Transform3D &htrans)=0 |
printout method More... | |
This (clean) interface is implemented in the (rather dirty) ICaloCoordinateTool class, which depends on data-bases and H8 CTB specificities.
The goal of these classes is to handles the translation between :
the H8 CTB official coordinate system, defined in :
"Atlas Barrel Combined Run in 2004, TestBeam Layout" ATC-TT-IN-0001, Beniamino Di Girolamo
All variables in this coordinate system contain the letters _ctb
the LAr+Tile local coordinate system, which differs for 2 reasons :
the origin is shifted by x = 2298 mm, and the two calos sit on a rotating table to allow eta scans.
In the local coordinate system, calorimeters have a pointing geometry.
All variables in this coordinate system contain the letters _local.
Most clients are only interested in the methods ICaloCoordinateTool::ctb_to_local and ICaloCoordinateTool::local_to_ctb, which convert a given point from one coordinate system into another. The read_table_position() in called internally, is is transparent to the user.
But Atlantis clients need access to the AmgTransforms used internally. Some public methods are thus provided. Note that, for these methods, the user has to call read_table_position() before hand.
Definition at line 64 of file ICaloCoordinateTool.h.
|
pure virtual |
the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ?
|
pure virtual |
the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ?
|
pure virtual |
General use method: basic translation between the 2 cartesian coordinate systems:
|
pure virtual |
General use method: basic translation between the 2 cartesian coordinate systems:
ICaloCoordinateTool::DeclareInterfaceID | ( | ICaloCoordinateTool | , |
1 | , | ||
0 | |||
) |
|
pure virtual |
General use method: basic translation between the 2 cartesian coordinate systems:
|
pure virtual |
General use method: basic translation between the 2 cartesian coordinate systems:
|
pure virtual |
printout method
|
pure virtual |
clients who want to avoid the DB-decoding, and force a fixed eta must call this :
|
pure virtual |
clients who want the real position must call this
|
pure virtual |
method accessing the transformations
|
pure virtual |
method accessing the transformations