Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:29

0001 #include "RawTowerGeomv2.h"
0002 
0003 #include <cmath>
0004 #include <iostream>
0005 
0006 RawTowerGeomv2::RawTowerGeomv2(RawTowerDefs::keytype id)
0007   : _towerid(id)
0008 {
0009 }
0010 
0011 double RawTowerGeomv2::get_center_radius() const
0012 {
0013   return std::sqrt(_center_x * _center_x +
0014                    _center_y * _center_y);
0015 }
0016 
0017 double RawTowerGeomv2::get_eta() const
0018 {
0019   double eta;
0020   double radius;
0021   double theta;
0022   radius = std::sqrt(_center_x * _center_x + _center_y * _center_y);
0023   theta = std::atan2(radius, _center_z);
0024   eta = -std::log(std::tan(theta / 2.));
0025 
0026   return eta;
0027 }
0028 
0029 double RawTowerGeomv2::get_phi() const
0030 {
0031   return std::atan2(_center_y, _center_x);
0032 }
0033 
0034 void RawTowerGeomv2::identify(std::ostream& os) const
0035 {
0036   os << "RawTowerGeomv2:  x: " << get_center_x() << "  y: " << get_center_y() << "  z: " << get_center_z()
0037      << "\n           dx: " << get_size_x() << " dy: " << get_size_y() << " dz: " << get_size_z() << std::endl;
0038 }