CMS 3D CMS Logo

CSCStripTopology.cc
Go to the documentation of this file.
3 
4 CSCStripTopology::CSCStripTopology(int ns, float aw, float dh, float r, float aoff, float ymid)
5  : OffsetRadialStripTopology(ns, aw, dh, r, aoff, ymid) {}
6 
8 
9 std::pair<float, float> CSCStripTopology::equationOfStrip(float strip) const {
10  const float fprec = 1.E-06;
11 
12  // slope of strip
13  float strangle = M_PI_2 - stripAngle(strip);
14  float ms = 0;
15  if (fabs(strangle) > fprec)
16  ms = tan(strangle);
17 
18  // intercept of strip
19  float cs = -originToIntersection();
20 
21  LogTrace("CSCStripTopology|CSC") << "CSCStripTopology: strip=" << strip << ", strip angle = " << strangle
22  << ", intercept on y axis=" << cs;
23 
24  return std::pair<float, float>(ms, cs);
25 }
26 
27 std::pair<float, float> CSCStripTopology::yLimitsOfStripPlane() const {
28  // use functions from base class
29  float ylow = yCentreOfStripPlane() - yExtentOfStripPlane() / 2.;
30  float yhigh = yCentreOfStripPlane() + yExtentOfStripPlane() / 2.;
31 
32  return std::pair<float, float>(ylow, yhigh);
33 }
34 
35 // op<< is not a member
36 
37 #include <iostream>
38 
39 std::ostream& operator<<(std::ostream& os, const CSCStripTopology& st) {
40  st.put(os) << " isa " << static_cast<const OffsetRadialStripTopology&>(st);
41  return os;
42 }
CSCStripTopology(int ns, float aw, float dh, float r, float aoff, float ymid)
std::pair< float, float > equationOfStrip(float strip) const
#define M_PI_2
std::pair< float, float > yLimitsOfStripPlane() const
float strip(const LocalPoint &) const override
#define LogTrace(id)
std::ostream & operator<<(std::ostream &os, const CSCStripTopology &st)
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
float originToIntersection() const override
float yCentreOfStripPlane() const override
~CSCStripTopology() override
float yExtentOfStripPlane() const override
virtual std::ostream & put(std::ostream &) const =0
dh
Definition: cuy.py:354
float stripAngle(float strip) const override