ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TBCaloCoordinate Class Reference

This class implements the CaloDetDescr/ICaloCoordinateTool and handles the translation between : More...

#include <TBCaloCoordinate.h>

Inheritance diagram for TBCaloCoordinate:
Collaboration diagram for TBCaloCoordinate:

Public Member Functions

 TBCaloCoordinate (const std::string &type, const std::string &name, const IInterface *parent)
 
 ~TBCaloCoordinate ()
 
StatusCode initialize ()
 
StatusCode finalize ()
 
void ctb_to_local (Amg::Vector3D &pt_ctb, Amg::Vector3D &pt_local)
 
void local_to_ctb (Amg::Vector3D &pt_local, Amg::Vector3D &pt_ctb)
 
void ctb_to_local (double &x_ctb, double &y_ctb, double &z_ctb, double &x_local, double &y_local, double &z_local)
 
void local_to_ctb (double &x_local, double &y_local, double &z_local, double &x_ctb, double &y_ctb, double &z_ctb)
 
double beam_local_eta ()
 
double beam_local_phi ()
 
virtual void read_table_position ()
 
virtual void read_fake_table_position ()
 
Amg::Transform3Dtransform_calo_to_ctb ()
 
Amg::Transform3Dtransform_ctb_to_calo ()
 
void print_transform (Amg::Transform3D &htrans)
 

Private Member Functions

 TBCaloCoordinate (const TBCaloCoordinate &)
 
TBCaloCoordinateoperator= (const TBCaloCoordinate &)
 
bool read_data_position ()
 
bool read_MC_position ()
 
void read_user_position ()
 
void read_neutral_position ()
 

Private Attributes

double m_table_axis_data
 
double m_table_axis_MC
 
double m_table_proj_data
 
double m_table_proj_MC
 
double m_table_eta
 
double m_calo_phi_shift
 
double m_calo_theta_shift
 
double m_calo_psi_shift
 
double m_calo_x_shift
 
double m_calo_y_shift
 
double m_calo_z_shift
 
double m_table_theta
 
double m_table_z
 
double m_table_delta
 
double m_table_calc_theta
 
double m_table_calc_x
 
int m_DBRead
 
int m_PoolRead
 
Amg::RotationMatrix3Dm_table_rotate
 
Amg::Translation3Dm_table_shift
 
Amg::Transform3D m_rotz_extra_calo_to_ctb
 
Amg::Transform3D m_roty_extra_calo_to_ctb
 
Amg::Transform3D m_rotx_extra_calo_to_ctb
 
Amg::Transform3D m_translxyz_extra_calo_to_ctb
 
Amg::Transform3Dm_transform_calo_to_ctb
 
Amg::Transform3Dm_transform_ctb_to_calo
 
long m_runNumber
 
int m_firstevt
 
ITBCaloPosToolm_postool
 
const TBDetDescrManagerm_MCmgr
 
CaloPhiRangem_range
 

Detailed Description

This class implements the CaloDetDescr/ICaloCoordinateTool and handles the translation between :

Most clients are only interested in the methods TBCaloCoordinate::ctb_to_local and TBCaloCoordinate::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 HepTransforms 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 67 of file TBCaloCoordinate.h.

Constructor & Destructor Documentation

◆ TBCaloCoordinate() [1/2]

TBCaloCoordinate::TBCaloCoordinate ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 42 of file TBCaloCoordinate.cxx.

44  :
45  base_class(type, name, parent),
48  m_table_eta(0.),
52  m_table_theta(0.), m_table_z(0.), m_table_delta(0.),
54  m_DBRead(-1), m_PoolRead(-1), m_runNumber(0), m_firstevt(0)
55 {
56 
57  // by default, assume Atlas : m_DBRead=-1, m_PoolRead=-1
58  // other clients need to include the jobOpt fragment and set
59  // what they want via the properties :
60 
61  declareProperty("DBRead",m_DBRead);
62  declareProperty("PoolRead",m_PoolRead);
63 
64  declareProperty("calo_phi_shift",m_calo_phi_shift);
65  declareProperty("calo_theta_shift",m_calo_theta_shift);
66  declareProperty("calo_psi_shift",m_calo_psi_shift);
67  declareProperty("calo_x_shift",m_calo_x_shift);
68  declareProperty("calo_y_shift",m_calo_y_shift);
69  declareProperty("calo_z_shift",m_calo_z_shift);
70 
71  declareProperty("table_eta",m_table_eta);
72 
73  // default values for MC, will be overwritten by Pool numbers
74  m_table_axis_MC = 6062.;
75  m_table_proj_MC = 1276. - 6062.;
76 
77  // number taken from the note ATC-TT-IN-0001, Feb 12, 2005:
78  m_table_axis_data = 6208.;
79 
80  // number extracted from the Tiles table rotation program, S. Solodkov, Nov 2004
81  m_table_proj_data = -3910. ;
82 
83  // this will be calculated
85  m_table_calc_x=0.;
86 
89  //m_table_rotate = new Rotate3D();
90  m_table_rotate = new RotationMatrix3D(); // uninitialized, but always assigned before use
91  m_table_shift = new Translation3D(0.,0.,0.);
92  m_postool=0;
93  m_MCmgr=0;
94  m_range = new CaloPhiRange;
95 }

◆ ~TBCaloCoordinate()

TBCaloCoordinate::~TBCaloCoordinate ( )

Definition at line 124 of file TBCaloCoordinate.cxx.

125 {
128  delete m_table_rotate;
129  delete m_table_shift;
130  delete m_range;
131 }

◆ TBCaloCoordinate() [2/2]

TBCaloCoordinate::TBCaloCoordinate ( const TBCaloCoordinate )
private

Member Function Documentation

◆ beam_local_eta()

double TBCaloCoordinate::beam_local_eta ( )

Definition at line 195 of file TBCaloCoordinate.cxx.

196 {
198  return m_table_eta;
199 }

◆ beam_local_phi()

double TBCaloCoordinate::beam_local_phi ( )

Definition at line 202 of file TBCaloCoordinate.cxx.

203 {
205  return m_table_delta;
206 }

◆ ctb_to_local() [1/2]

void TBCaloCoordinate::ctb_to_local ( Amg::Vector3D pt_ctb,
Amg::Vector3D pt_local 
)

◆ ctb_to_local() [2/2]

void TBCaloCoordinate::ctb_to_local ( double &  x_ctb,
double &  y_ctb,
double &  z_ctb,
double &  x_local,
double &  y_local,
double &  z_local 
)

Definition at line 157 of file TBCaloCoordinate.cxx.

159 {
160  Vector3D pt_ctb(x_ctb,y_ctb,z_ctb);
161  Vector3D pt_local(0.,0.,0.);
162 
163  ctb_to_local(pt_ctb,pt_local);
164 
165  x_local = pt_local.x();
166  y_local = pt_local.y();
167  z_local = pt_local.z();
168 
169  //log << MSG::DEBUG << "ctb : " << x_ctb << " " << y_ctb << " "
170  // << z_ctb << " " << endmsg;
171  //log << MSG::DEBUG << " ==> local : " << x_local << " " << y_local << " "
172  // << z_local << " " << endmsg;
173 }

◆ finalize()

StatusCode TBCaloCoordinate::finalize ( )

Definition at line 134 of file TBCaloCoordinate.cxx.

135 {
136  StatusCode sc = StatusCode::SUCCESS;
137  return sc;
138 }

◆ initialize()

StatusCode TBCaloCoordinate::initialize ( )

Definition at line 98 of file TBCaloCoordinate.cxx.

99 {
100  float eta = -1.*std::log(tan( (float)
101  ((m_calo_theta_shift+m_range->twopi()/4.)/2.)));
102 
104  ( " Numbers used for Calo geometry : "
105  << "phi=" << m_calo_phi_shift << " theta="
106  << m_calo_theta_shift << " (=> deta=" << eta << ") psi="
107  << m_calo_psi_shift << " x,y,z= "
108  << m_calo_x_shift << " "
109  << m_calo_y_shift << " "
110  << m_calo_z_shift );
111 
112  // For global Calo position build HepTransforms according to
113  // jobOpt parameters :
114 
119 
120  StatusCode sc = StatusCode::SUCCESS;
121  return sc;
122 }

◆ local_to_ctb() [1/2]

void TBCaloCoordinate::local_to_ctb ( Amg::Vector3D pt_local,
Amg::Vector3D pt_ctb 
)

◆ local_to_ctb() [2/2]

void TBCaloCoordinate::local_to_ctb ( double &  x_local,
double &  y_local,
double &  z_local,
double &  x_ctb,
double &  y_ctb,
double &  z_ctb 
)

Definition at line 176 of file TBCaloCoordinate.cxx.

178 {
179  Vector3D pt_local(x_local,y_local,z_local);
180  Vector3D pt_ctb(0.,0.,0.);
181 
182  local_to_ctb(pt_local,pt_ctb);
183 
184  x_ctb = pt_ctb.x();
185  y_ctb = pt_ctb.y();
186  z_ctb = pt_ctb.z();
187 
188  //log << MSG::DEBUG << " local : " << x_local << " " << y_local << " "
189  // << z_local << " " << endmsg;
190  //log << MSG::DEBUG << " ==> ctb : " << x_ctb << " " << y_ctb << " "
191  // << z_ctb << " " << endmsg;
192 }

◆ operator=()

TBCaloCoordinate& TBCaloCoordinate::operator= ( const TBCaloCoordinate )
private

◆ print_transform()

void TBCaloCoordinate::print_transform ( Amg::Transform3D htrans)

Definition at line 256 of file TBCaloCoordinate.cxx.

257 {
258  RotationMatrix3D junkrot = htrans.rotation();
259  double alpha = Eigen::AngleAxisd(junkrot).angle();
260  Eigen::Vector3d junkaxis = Eigen::AngleAxisd(junkrot).axis();
261 
262  ATH_MSG_INFO ("");
263 
264  ATH_MSG_INFO ( " -> Rotation : axis x,y,z = " << junkaxis[Amg::x]
265  << " " << junkaxis[Amg::y] << " " << junkaxis[Amg::z]);
266  ATH_MSG_INFO ( " angle = " << alpha );
267 
268  Amg::Vector3D junktransl = htrans.translation();
269 
270  ATH_MSG_INFO ( " -> Translation : x,y,z = " <<
271  junktransl[Amg::x] << " " << junktransl[Amg::y] << " " << junktransl[Amg::z] );
272 
273  ATH_MSG_INFO ("");
274 
275 }

◆ read_data_position()

bool TBCaloCoordinate::read_data_position ( )
private

Definition at line 278 of file TBCaloCoordinate.cxx.

279 {
280  // -------- Access to DB tool : will try once, if fails will use the default (user)
281 
282  if ( m_DBRead == 0 ) {
283 
284  // Horrible hack : DCS update were missing for the end of the data-taking
285  if ( m_runNumber >= 2102455 ) {
286  m_DBRead = -1;
287  return false;
288  }
289  // Horrible hack : DCS indicated infinite eta value for some runs
290  if ( m_runNumber > 2102164 && m_runNumber <= 2102208 ) {
291  m_DBRead = -1;
292  return false;
293  }
294 
295  if (!toolSvc()) {
296  ATH_MSG_ERROR ( "Cannot find ToolSvc ??? " );
297  m_DBRead = -1;
298  return false;
299  }
300  else {
301  StatusCode sc = toolSvc()->retrieveTool("TBCaloPosTool", m_postool);
302  if(sc.isFailure()) {
304  ( "Cannot get Calo table position from DB : keep default" );
305  m_DBRead = -1;
306  return false;
307  }
308  else {
309  ATH_MSG_DEBUG ( "Did get Calo table position from DB !" );
310  m_DBRead = 1;
311  }
312  }
313  }
314 
315  if ( m_DBRead > 0 ) {
316  m_table_eta = m_postool->eta();
318  m_table_z = m_postool->z();
320 
321  // Protection : if result is crasy, switch to handcoded 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 " );
324  ATH_MSG_INFO ( " " );
325  m_DBRead = 1;
326  return false;
327  }
328 
329  if (m_firstevt == 1 ) {
330  ATH_MSG_INFO ( " --------------------------------------------------------------------- " );
331  ATH_MSG_INFO ( " " );
332  ATH_MSG_INFO ( " Calorimeter table position is read from DB : for run " << m_runNumber
333  << " eta is = " << m_table_eta );
334  ATH_MSG_INFO ( " " );
335 
336 
337  ATH_MSG_INFO ( " If it does not match the LAr logbook, inform LAr people " );
338  ATH_MSG_INFO ( " " );
339  ATH_MSG_INFO ( " " );
340  ATH_MSG_INFO ( " Other (unused) table numbers are : theta=" << m_table_theta
341  << " z=" << m_table_z << " delta=" << m_table_delta );
342  ATH_MSG_INFO ( " --------------------------------------------------------------------- " );
343 
344  m_firstevt = 2;
345  }
346  }
347 
348  // ------- OK, it worked : now do the work
349 
350  // in Atlas, theta is the angle with the z axis, and it is
351  // given by the formula atan(exp(-m_table_eta))*2.
352  // but here, we want the angle against the y axis :
355 
357  //*m_table_shift = TranslateX3D(m_table_calc_x);
359 
361 
362  //print_transform( *m_transform_calo_to_ctb );
363 
365 
366  ATH_MSG_DEBUG ( "Calculated table position is : " );
367  ATH_MSG_DEBUG ( " angle against y axis = "
368  << m_table_calc_theta );
369  ATH_MSG_DEBUG ( " x shift = " << m_table_calc_x );
370 
371  ATH_MSG_DEBUG ( " Final corresponding Moovement : " );
372  //print_transform( *m_transform_calo_to_ctb );
373 
374  return true;
375 }

◆ read_fake_table_position()

void TBCaloCoordinate::read_fake_table_position ( )
virtual

Definition at line 232 of file TBCaloCoordinate.cxx.

233 {
234  if ( m_firstevt == 0 ) m_firstevt = 1;
235 
236  if ( m_DBRead >= 0 || m_PoolRead >= 0) {
238  }
239  else
241 }

◆ read_MC_position()

bool TBCaloCoordinate::read_MC_position ( )
private

Definition at line 378 of file TBCaloCoordinate.cxx.

379 {
380  if (!m_MCmgr) {
381  ATH_MSG_INFO ( "Retreiving TBDetDescrManager" );
382 
383  // get the manager used for simulation :
384 
385  ATH_CHECK( detStore()->retrieve( m_MCmgr ), false );
386  }
387 
388  ATH_MSG_DEBUG ( " found TBDetDescrManager " );
389 
390  TBElement LArTileMother = m_MCmgr->getElement(TBElementID::CALO);
391  if (LArTileMother.id() == TBElementID::Unknown ) return false;
392 
393  ATH_MSG_DEBUG ( " found CALO envelope " );
394 
395  // ------- OK, now do the work :
396 
397  Vector3D pos = LArTileMother.position();
398  *m_table_shift = Translation3D(pos.x(),pos.y(),pos.z());
399 
400  // FIXME : rotation has the wrong sign !
401  *m_table_rotate = (LArTileMother.rotation()).inverse();
402 
403  *m_transform_calo_to_ctb = (*m_table_shift)*(*m_table_rotate);
404 
405  // Extract m_table_eta
406  // Not completely satisfactory : it's wrong if the calorimeter is rotated
407  // around z and/or x in addition to y (it's not supposed
408  // to be the case in MC but still ...)
409  //float angle = m_transform_calo_to_ctb->getRotation().delta();
410  float angle = Eigen::AngleAxisd(m_transform_calo_to_ctb->rotation()).angle();
411  m_table_eta = -1.*std::log(tan((float) (m_range->twopi()/4. - angle)/2.));
412 
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. " );
415  m_table_eta = 0.;
416  }
417 
418  //log << MSG::DEBUG << " Enveloppe position is read from Pool, and is : "
419  // << endmsg;
420  //print_transform( *m_transform_calo_to_ctb );
421 
423 
424  return true;
425 }

◆ read_neutral_position()

void TBCaloCoordinate::read_neutral_position ( )
private

Definition at line 499 of file TBCaloCoordinate.cxx.

500 {
501  // do the work once :
502  if (m_firstevt > 1 ) return;
503 
504  m_table_calc_theta= 0.;
505  m_table_calc_x= 0;
506 
508  //*m_table_shift = TranslateX3D(m_table_calc_x);
510  *m_transform_calo_to_ctb = (*m_table_shift)*(*m_table_rotate);
512 
513  m_firstevt = 2;
514 
515  ATH_MSG_DEBUG ( " Neutral Moovement : " );
516  //print_transform( *m_transform_calo_to_ctb );
517 
518 }

◆ read_table_position()

void TBCaloCoordinate::read_table_position ( )
virtual

Definition at line 211 of file TBCaloCoordinate.cxx.

212 {
213  if ( m_firstevt == 0 ) {
214  const EventContext& ctx = Gaudi::Hive::currentContext();
215  m_runNumber = ctx.eventID().run_number();
216  m_firstevt = 1;
217  }
218 
219  if ( m_DBRead >= 0 ) {
220  bool result = read_data_position();
221  if (!result) read_user_position();
222  }
223  else if ( m_PoolRead >= 0 ) {
224  bool result = read_MC_position();
225  if (!result) read_user_position();
226  }
227  else
229 
230 }

◆ read_user_position()

void TBCaloCoordinate::read_user_position ( )
private

Definition at line 428 of file TBCaloCoordinate.cxx.

429 {
430  // This is a fall back solution if numbers are not found anywhere else
431  // Note that the hypothesis is that it is DATA
432 
433  // do the work once :
434  //if (m_firstevt > 1 ) return;
435 
436  // default :
437  m_table_eta = 0.45;
438 
439  // Horrible hack : DCS indicated infinite eta for some periods
440  if ( m_runNumber >= 2102181 && m_runNumber < 2102208 ) m_table_eta = 0.55;
441  if ( m_runNumber == 2102208 ) m_table_eta = 0.42;
442 
443  // Horrible hack : DCS update were missing for the end of the data-taking
444  if ( m_runNumber >= 2102455 && m_runNumber < 2102470 ) m_table_eta = 0.1;
445  if ( m_runNumber >= 2102470 && m_runNumber < 2102478 ) m_table_eta = 0.2;
446  if ( m_runNumber >= 2102478 && m_runNumber < 2102488 ) m_table_eta = 0.3;
447  if ( m_runNumber >= 2102488 && m_runNumber < 2102498 ) m_table_eta = 0.4;
448  if ( m_runNumber >= 2102498 && m_runNumber < 2102512 ) m_table_eta = 0.5;
449  if ( m_runNumber >= 2102512 && m_runNumber < 2102530 ) m_table_eta = 0.7;
450  if ( m_runNumber >= 2102530 && m_runNumber < 2102758 ) m_table_eta = 0.6;
451 
452  if ( m_runNumber >= 2102758 && m_runNumber < 2102903 ) m_table_eta = 0.55;
453  if ( m_runNumber >= 2102903 && m_runNumber < 2102936 ) m_table_eta = 0.5;
454  if ( m_runNumber >= 2102936 && m_runNumber < 2102953 ) m_table_eta = 0.3;
455  if ( m_runNumber >= 2102953 && m_runNumber < 2102980 ) m_table_eta = 0.4;
456  if ( m_runNumber >= 2102980 ) m_table_eta = 0.3;
457 
458  ATH_MSG_DEBUG ( " --------------------------------------------------------------------- " );
459  ATH_MSG_DEBUG ( " " );
460  ATH_MSG_DEBUG ( " Calorimeter table DCS either OFF of not used, position is hardcoded : for run "
461  << m_runNumber << " eta is = " << m_table_eta );
462  ATH_MSG_DEBUG ( " " );
463  ATH_MSG_DEBUG ( " If it does not match the LAr logbook, inform LAr people " );
464  ATH_MSG_DEBUG ( " " );
465  ATH_MSG_DEBUG ( " --------------------------------------------------------------------- " );
466 
468 
469  if(m_DBRead >= 0)
471  else
473 
475  //*m_table_shift = TranslateX3D(m_table_calc_x);
477 
479 
480  //print_transform( *m_transform_calo_to_ctb );
481 
483 
484  ATH_MSG_DEBUG ( " Moovement defined by hardcoded numbers : eta was set to "
485  << m_table_eta);
486 
487  ATH_MSG_DEBUG ( "Calculated table position is : " );
488  ATH_MSG_DEBUG ( " angle against y axis = "
489  << m_table_calc_theta );
490 
491  m_firstevt = 2;
492 
493  //log << MSG::DEBUG << " x shift = " << m_table_calc_x << endmsg;
494  //print_transform( *m_transform_calo_to_ctb );
495 
496 }

◆ transform_calo_to_ctb()

Transform3D * TBCaloCoordinate::transform_calo_to_ctb ( )

Definition at line 244 of file TBCaloCoordinate.cxx.

245 {
247 }

◆ transform_ctb_to_calo()

Transform3D * TBCaloCoordinate::transform_ctb_to_calo ( )

Definition at line 250 of file TBCaloCoordinate.cxx.

251 {
253 }

Member Data Documentation

◆ m_calo_phi_shift

double TBCaloCoordinate::m_calo_phi_shift
private

Definition at line 143 of file TBCaloCoordinate.h.

◆ m_calo_psi_shift

double TBCaloCoordinate::m_calo_psi_shift
private

Definition at line 145 of file TBCaloCoordinate.h.

◆ m_calo_theta_shift

double TBCaloCoordinate::m_calo_theta_shift
private

Definition at line 144 of file TBCaloCoordinate.h.

◆ m_calo_x_shift

double TBCaloCoordinate::m_calo_x_shift
private

Definition at line 146 of file TBCaloCoordinate.h.

◆ m_calo_y_shift

double TBCaloCoordinate::m_calo_y_shift
private

Definition at line 147 of file TBCaloCoordinate.h.

◆ m_calo_z_shift

double TBCaloCoordinate::m_calo_z_shift
private

Definition at line 148 of file TBCaloCoordinate.h.

◆ m_DBRead

int TBCaloCoordinate::m_DBRead
private

Definition at line 159 of file TBCaloCoordinate.h.

◆ m_firstevt

int TBCaloCoordinate::m_firstevt
private

Definition at line 183 of file TBCaloCoordinate.h.

◆ m_MCmgr

const TBDetDescrManager* TBCaloCoordinate::m_MCmgr
private

Definition at line 186 of file TBCaloCoordinate.h.

◆ m_PoolRead

int TBCaloCoordinate::m_PoolRead
private

Definition at line 160 of file TBCaloCoordinate.h.

◆ m_postool

ITBCaloPosTool* TBCaloCoordinate::m_postool
private

Definition at line 185 of file TBCaloCoordinate.h.

◆ m_range

CaloPhiRange* TBCaloCoordinate::m_range
private

Definition at line 187 of file TBCaloCoordinate.h.

◆ m_rotx_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_rotx_extra_calo_to_ctb
private

Definition at line 172 of file TBCaloCoordinate.h.

◆ m_roty_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_roty_extra_calo_to_ctb
private

Definition at line 171 of file TBCaloCoordinate.h.

◆ m_rotz_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_rotz_extra_calo_to_ctb
private

Definition at line 170 of file TBCaloCoordinate.h.

◆ m_runNumber

long TBCaloCoordinate::m_runNumber
private

Definition at line 180 of file TBCaloCoordinate.h.

◆ m_table_axis_data

double TBCaloCoordinate::m_table_axis_data
private

Definition at line 131 of file TBCaloCoordinate.h.

◆ m_table_axis_MC

double TBCaloCoordinate::m_table_axis_MC
private

Definition at line 132 of file TBCaloCoordinate.h.

◆ m_table_calc_theta

double TBCaloCoordinate::m_table_calc_theta
private

Definition at line 155 of file TBCaloCoordinate.h.

◆ m_table_calc_x

double TBCaloCoordinate::m_table_calc_x
private

Definition at line 156 of file TBCaloCoordinate.h.

◆ m_table_delta

double TBCaloCoordinate::m_table_delta
private

Definition at line 153 of file TBCaloCoordinate.h.

◆ m_table_eta

double TBCaloCoordinate::m_table_eta
private

Definition at line 139 of file TBCaloCoordinate.h.

◆ m_table_proj_data

double TBCaloCoordinate::m_table_proj_data
private

Definition at line 134 of file TBCaloCoordinate.h.

◆ m_table_proj_MC

double TBCaloCoordinate::m_table_proj_MC
private

Definition at line 135 of file TBCaloCoordinate.h.

◆ m_table_rotate

Amg::RotationMatrix3D* TBCaloCoordinate::m_table_rotate
private

Definition at line 164 of file TBCaloCoordinate.h.

◆ m_table_shift

Amg::Translation3D* TBCaloCoordinate::m_table_shift
private

Definition at line 166 of file TBCaloCoordinate.h.

◆ m_table_theta

double TBCaloCoordinate::m_table_theta
private

Definition at line 151 of file TBCaloCoordinate.h.

◆ m_table_z

double TBCaloCoordinate::m_table_z
private

Definition at line 152 of file TBCaloCoordinate.h.

◆ m_transform_calo_to_ctb

Amg::Transform3D* TBCaloCoordinate::m_transform_calo_to_ctb
private

Definition at line 176 of file TBCaloCoordinate.h.

◆ m_transform_ctb_to_calo

Amg::Transform3D* TBCaloCoordinate::m_transform_ctb_to_calo
private

Definition at line 177 of file TBCaloCoordinate.h.

◆ m_translxyz_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_translxyz_extra_calo_to_ctb
private

Definition at line 173 of file TBCaloCoordinate.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
TBCaloCoordinate::m_table_theta
double m_table_theta
Definition: TBCaloCoordinate.h:151
TBCaloCoordinate::m_table_axis_data
double m_table_axis_data
Definition: TBCaloCoordinate.h:131
TBCaloCoordinate::m_table_axis_MC
double m_table_axis_MC
Definition: TBCaloCoordinate.h:132
TBCaloCoordinate::local_to_ctb
void local_to_ctb(Amg::Vector3D &pt_local, Amg::Vector3D &pt_ctb)
TBCaloCoordinate::m_table_delta
double m_table_delta
Definition: TBCaloCoordinate.h:153
CaloPhiRange
This class defines the phi convention for Calorimeters.
Definition: CaloPhiRange.h:28
TBCaloCoordinate::m_table_calc_theta
double m_table_calc_theta
Definition: TBCaloCoordinate.h:155
get_generator_info.result
result
Definition: get_generator_info.py:21
TBCaloCoordinate::m_calo_y_shift
double m_calo_y_shift
Definition: TBCaloCoordinate.h:147
ITBCaloPosTool::eta
virtual double eta()=0
access eta value
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TBCaloCoordinate::m_rotz_extra_calo_to_ctb
Amg::Transform3D m_rotz_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:170
TBCaloCoordinate::m_table_z
double m_table_z
Definition: TBCaloCoordinate.h:152
TBCaloCoordinate::m_transform_ctb_to_calo
Amg::Transform3D * m_transform_ctb_to_calo
Definition: TBCaloCoordinate.h:177
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
Amg::y
@ y
Definition: GeoPrimitives.h:35
TBCaloCoordinate::m_calo_x_shift
double m_calo_x_shift
Definition: TBCaloCoordinate.h:146
TBCaloCoordinate::read_table_position
virtual void read_table_position()
Definition: TBCaloCoordinate.cxx:211
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
TBDetDescrManager::getElement
const TBElement & getElement(TBElementID::TBElementID id) const
Definition: TBDetDescrManager.cxx:121
TBCaloCoordinate::m_transform_calo_to_ctb
Amg::Transform3D * m_transform_calo_to_ctb
Definition: TBCaloCoordinate.h:176
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
TBCaloCoordinate::m_calo_theta_shift
double m_calo_theta_shift
Definition: TBCaloCoordinate.h:144
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
TBCaloCoordinate::m_table_rotate
Amg::RotationMatrix3D * m_table_rotate
Definition: TBCaloCoordinate.h:164
TBCaloCoordinate::m_translxyz_extra_calo_to_ctb
Amg::Transform3D m_translxyz_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:173
TBCaloCoordinate::m_postool
ITBCaloPosTool * m_postool
Definition: TBCaloCoordinate.h:185
TBCaloCoordinate::m_calo_psi_shift
double m_calo_psi_shift
Definition: TBCaloCoordinate.h:145
TBCaloCoordinate::m_calo_phi_shift
double m_calo_phi_shift
Definition: TBCaloCoordinate.h:143
Amg::z
@ z
Definition: GeoPrimitives.h:36
TBCaloCoordinate::m_table_eta
double m_table_eta
Definition: TBCaloCoordinate.h:139
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ITBCaloPosTool::delta
virtual double delta()=0
access delta value
TBCaloCoordinate::m_roty_extra_calo_to_ctb
Amg::Transform3D m_roty_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:171
TBCaloCoordinate::m_runNumber
long m_runNumber
Definition: TBCaloCoordinate.h:180
TBElementID::Unknown
@ Unknown
Definition: TBElementID.h:12
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonR4::inverse
CalibratedSpacePoint::Covariance_t inverse(const CalibratedSpacePoint::Covariance_t &mat)
Inverts the parsed matrix.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx:65
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
angle
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Definition: TRTDetectorFactory_Full.cxx:73
Amg::x
@ x
Definition: GeoPrimitives.h:34
TBCaloCoordinate::m_table_calc_x
double m_table_calc_x
Definition: TBCaloCoordinate.h:156
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
TBCaloCoordinate::m_firstevt
int m_firstevt
Definition: TBCaloCoordinate.h:183
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
CaloPhiRange::twopi
static double twopi()
Definition: CaloPhiRange.h:46
TBCaloCoordinate::read_user_position
void read_user_position()
Definition: TBCaloCoordinate.cxx:428
TBElement::position
Amg::Vector3D position() const
Definition: TBElement.h:35
TBElement::rotation
Amg::RotationMatrix3D rotation() const
Definition: TBElement.h:36
ITBCaloPosTool::theta
virtual double theta()=0
access eta value
TBCaloCoordinate::m_table_proj_data
double m_table_proj_data
Definition: TBCaloCoordinate.h:134
TBCaloCoordinate::m_DBRead
int m_DBRead
Definition: TBCaloCoordinate.h:159
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
ITBCaloPosTool::z
virtual double z()=0
access eta value
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
TBElementID::CALO
@ CALO
Definition: TBElementID.h:27
TBCaloCoordinate::m_calo_z_shift
double m_calo_z_shift
Definition: TBCaloCoordinate.h:148
TBCaloCoordinate::ctb_to_local
void ctb_to_local(Amg::Vector3D &pt_ctb, Amg::Vector3D &pt_local)
TBCaloCoordinate::read_neutral_position
void read_neutral_position()
Definition: TBCaloCoordinate.cxx:499
Amg::RotationMatrix3D
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Definition: GeoPrimitives.h:49
TBCaloCoordinate::m_rotx_extra_calo_to_ctb
Amg::Transform3D m_rotx_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:172
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TBCaloCoordinate::m_PoolRead
int m_PoolRead
Definition: TBCaloCoordinate.h:160
TBElement
Definition: TBElement.h:20
TBCaloCoordinate::read_MC_position
bool read_MC_position()
Definition: TBCaloCoordinate.cxx:378
Amg::AngleAxis3D
Eigen::AngleAxisd AngleAxis3D
Definition: GeoPrimitives.h:45
TBCaloCoordinate::read_data_position
bool read_data_position()
Definition: TBCaloCoordinate.cxx:278
TBCaloCoordinate::m_table_shift
Amg::Translation3D * m_table_shift
Definition: TBCaloCoordinate.h:166
TBCaloCoordinate::m_table_proj_MC
double m_table_proj_MC
Definition: TBCaloCoordinate.h:135
TBCaloCoordinate::m_range
CaloPhiRange * m_range
Definition: TBCaloCoordinate.h:187
TBElement::id
TBElementID::TBElementID id() const
Definition: TBElement.h:33
TBCaloCoordinate::m_MCmgr
const TBDetDescrManager * m_MCmgr
Definition: TBCaloCoordinate.h:186