ATLAS Offline Software
Public Member Functions | List of all members
ICaloCoordinateTool Class Referenceabstract

This (clean) interface is implemented in the (rather dirty) ICaloCoordinateTool class, which depends on data-bases and H8 CTB specificities. More...

#include <ICaloCoordinateTool.h>

Inheritance diagram for ICaloCoordinateTool:
Collaboration diagram for ICaloCoordinateTool:

Public Member Functions

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::Transform3Dtransform_calo_to_ctb ()=0
 method accessing the transformations More...
 
virtual Amg::Transform3Dtransform_ctb_to_calo ()=0
 method accessing the transformations More...
 
virtual void print_transform (Amg::Transform3D &htrans)=0
 printout method More...
 

Detailed Description

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 :

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.

Member Function Documentation

◆ beam_local_eta()

virtual double ICaloCoordinateTool::beam_local_eta ( )
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 ?

Implemented in TBCaloCoordinate.

◆ beam_local_phi()

virtual double ICaloCoordinateTool::beam_local_phi ( )
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 ?

Implemented in TBCaloCoordinate.

◆ ctb_to_local() [1/2]

virtual void ICaloCoordinateTool::ctb_to_local ( Amg::Vector3D pt_ctb,
Amg::Vector3D pt_local 
)
pure virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implemented in TBCaloCoordinate.

◆ ctb_to_local() [2/2]

virtual void ICaloCoordinateTool::ctb_to_local ( double &  x_ctb,
double &  y_ctb,
double &  z_ctb,
double &  x_local,
double &  y_local,
double &  z_local 
)
pure virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implemented in TBCaloCoordinate.

◆ local_to_ctb() [1/2]

virtual void ICaloCoordinateTool::local_to_ctb ( Amg::Vector3D pt_local,
Amg::Vector3D pt_ctb 
)
pure virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implemented in TBCaloCoordinate.

◆ local_to_ctb() [2/2]

virtual void ICaloCoordinateTool::local_to_ctb ( double &  x_local,
double &  y_local,
double &  z_local,
double &  x_ctb,
double &  y_ctb,
double &  z_ctb 
)
pure virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implemented in TBCaloCoordinate.

◆ print_transform()

virtual void ICaloCoordinateTool::print_transform ( Amg::Transform3D htrans)
pure virtual

printout method

Implemented in TBCaloCoordinate.

◆ read_fake_table_position()

virtual void ICaloCoordinateTool::read_fake_table_position ( )
pure virtual

clients who want to avoid the DB-decoding, and force a fixed eta must call this :

Implemented in TBCaloCoordinate.

◆ read_table_position()

virtual void ICaloCoordinateTool::read_table_position ( )
pure virtual

clients who want the real position must call this

Implemented in TBCaloCoordinate.

◆ transform_calo_to_ctb()

virtual Amg::Transform3D* ICaloCoordinateTool::transform_calo_to_ctb ( )
pure virtual

method accessing the transformations

Implemented in TBCaloCoordinate.

◆ transform_ctb_to_calo()

virtual Amg::Transform3D* ICaloCoordinateTool::transform_ctb_to_calo ( )
pure virtual

method accessing the transformations

Implemented in TBCaloCoordinate.


The documentation for this class was generated from the following file: