|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #include "GaudiKernel/Bootstrap.h"
14 #include "Gaudi/Property.h"
15 #include "GaudiKernel/IService.h"
16 #include "GaudiKernel/IToolSvc.h"
17 #include "GaudiKernel/ISvcLocator.h"
18 #include "GaudiKernel/IMessageSvc.h"
30 #include "GaudiKernel/ThreadLocalContext.h"
43 const std::string&
name,
44 const IInterface*
parent) :
46 m_table_axis_data(0.), m_table_axis_MC(0.),
47 m_table_proj_data(0.), m_table_proj_MC(0.),
49 m_calo_phi_shift(0.), m_calo_theta_shift(0.),
50 m_calo_psi_shift(0.), m_calo_x_shift(0.),
51 m_calo_y_shift(0.), m_calo_z_shift(0.),
52 m_table_theta(0.), m_table_z(0.), m_table_delta(0.),
53 m_table_calc_theta(0.), m_table_calc_x(0.),
54 m_DBRead(-1), m_PoolRead(-1), m_runNumber(0), m_firstevt(0)
104 (
" Numbers used for Calo geometry : "
145 pt_local = (*m_transform_ctb_to_calo)*pt_ctb;
153 pt_ctb = (*m_transform_calo_to_ctb)*pt_local;
158 double& x_local,
double& y_local,
double& z_local)
165 x_local = pt_local.x();
166 y_local = pt_local.y();
167 z_local = pt_local.z();
177 double& x_ctb,
double& y_ctb,
double& z_ctb)
179 Vector3D pt_local(x_local,y_local,z_local);
214 const EventContext& ctx = Gaudi::Hive::currentContext();
259 double alpha = Eigen::AngleAxisd(junkrot).angle();
260 Eigen::Vector3d junkaxis = Eigen::AngleAxisd(junkrot).axis();
304 (
"Cannot get Calo table position from DB : keep default" );
322 if ( m_table_eta < 0. || m_table_eta > 1.5 ) {
323 ATH_MSG_INFO (
" ==> Calorimeter table position read from DB makes no sense, DB updates will be overwitten " );
330 ATH_MSG_INFO (
" --------------------------------------------------------------------- " );
337 ATH_MSG_INFO (
" If it does not match the LAr logbook, inform LAr people " );
342 ATH_MSG_INFO (
" --------------------------------------------------------------------- " );
413 if(m_table_eta<0. || m_table_eta > 1.5) {
414 ATH_MSG_INFO (
" m_table_eta is not in [0,1.5] -> will set it to 0. " );
458 ATH_MSG_DEBUG (
" --------------------------------------------------------------------- " );
460 ATH_MSG_DEBUG (
" Calorimeter table DCS either OFF of not used, position is hardcoded : for run "
463 ATH_MSG_DEBUG (
" If it does not match the LAr logbook, inform LAr people " );
465 ATH_MSG_DEBUG (
" --------------------------------------------------------------------- " );
484 ATH_MSG_DEBUG (
" Moovement defined by hardcoded numbers : eta was set to "
def retrieve(aClass, aKey=None)
void local_to_ctb(Amg::Vector3D &pt_local, Amg::Vector3D &pt_ctb)
This class defines the phi convention for Calorimeters.
Eigen::Quaternion< double > Rotation3D
double m_table_calc_theta
Amg::Transform3D * transform_ctb_to_calo()
virtual double eta()=0
access eta value
Amg::Transform3D m_rotz_extra_calo_to_ctb
Amg::Transform3D * m_transform_ctb_to_calo
Scalar eta() const
pseudorapidity method
TBCaloCoordinate(const std::string &type, const std::string &name, const IInterface *parent)
virtual void read_table_position()
const TBElement & getElement(TBElementID::TBElementID id) const
Amg::Transform3D * m_transform_calo_to_ctb
double m_calo_theta_shift
Amg::RotationMatrix3D * m_table_rotate
Amg::Transform3D m_translxyz_extra_calo_to_ctb
ITBCaloPosTool * m_postool
virtual void read_fake_table_position()
virtual double delta()=0
access delta value
Amg::Transform3D m_roty_extra_calo_to_ctb
void print_transform(Amg::Transform3D &htrans)
::StatusCode StatusCode
StatusCode definition for legacy code.
CalibratedSpacePoint::Covariance_t inverse(const CalibratedSpacePoint::Covariance_t &mat)
Inverts the parsed matrix.
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Eigen::Affine3d Transform3D
Amg::Transform3D * transform_calo_to_ctb()
CaloPhiRange class declaration.
void read_user_position()
Amg::Vector3D position() const
Amg::RotationMatrix3D rotation() const
virtual double theta()=0
access eta value
virtual double z()=0
access eta value
Eigen::Matrix< double, 3, 1 > Vector3D
void ctb_to_local(Amg::Vector3D &pt_ctb, Amg::Vector3D &pt_local)
void read_neutral_position()
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Amg::Transform3D m_rotx_extra_calo_to_ctb
Eigen::Translation< double, 3 > Translation3D
Eigen::AngleAxisd AngleAxis3D
bool read_data_position()
Amg::Translation3D * m_table_shift
TBElementID::TBElementID id() const
const TBDetDescrManager * m_MCmgr