ATLAS Offline Software
LineSaggingDescriptor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // DistortionDescriptor.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDISTORTEDSURFACES_LINESAGGINGDESCRIPTOR_H
10 #define TRKDISTORTEDSURFACES_LINESAGGINGDESCRIPTOR_H
11 
12 //STL
13 #include <iosfwd>
14 //#include <iomanip>
15 
16 //GaudiKernel
17 #include "GaudiKernel/MsgStream.h"
18 // Trk
20 // Geo & Maths
22 
23 namespace Trk {
24 
34 
35  public:
36 
39  //nop
40  }
41 
43  LineSaggingDescriptor(double wireLength,
44  double wireTension,
45  double linearDensity);
46 
49 
52 
55  virtual LineSaggingDescriptor* clone() const override final;
56 
59 
62  const Amg::Vector3D& lineCenter,
63  const Amg::Vector3D& lineDirection,
64  double cosFi=0.) const;
65 
67  MsgStream& dump(MsgStream& sl) const override final;
68 
70  std::ostream& dump(std::ostream& sl) const override final;
71 
72  protected:
74  double m_wireLength;
75  double m_wireTension;
77 
79  static const double s_elecStatFactor;
80  alignas(16) static const Amg::Vector3D s_gravityDirection;
81  alignas(16) static const Amg::Vector3D s_referenceDirection;
82 
83 
84 
85  };
86 
87  // clone method
89  { return new LineSaggingDescriptor(*this); }
90 
91 } // end of namespace
92 
93 #endif
Trk::LineSaggingDescriptor::dump
MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream, to be overloaded by child classes.
Definition: LineSaggingDescriptor.cxx:119
Trk::LineSaggingDescriptor::correctedSurfaceTransform
Amg::Transform3D * correctedSurfaceTransform(const Amg::Vector2D &locp, const Amg::Vector3D &lineCenter, const Amg::Vector3D &lineDirection, double cosFi=0.) const
Get the HepGeom::Transform3D* for the corrected Surface.
Definition: LineSaggingDescriptor.cxx:57
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Trk::LineSaggingDescriptor::clone
virtual LineSaggingDescriptor * clone() const override final
clone() method to make deep copy in Surface copy constructor and for assigment operator of the Surfac...
Definition: LineSaggingDescriptor.h:88
protected
#define protected
Definition: DetDescrConditionsDict_dict_fixes.cxx:14
DistortionDescriptor.h
GeoPrimitives.h
Trk::LineSaggingDescriptor::m_wireLength
double m_wireLength
< the wire end positions
Definition: LineSaggingDescriptor.h:74
Trk::LineSaggingDescriptor::~LineSaggingDescriptor
~LineSaggingDescriptor()=default
Destructor.
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::LineSaggingDescriptor::s_elecStatFactor
static const double s_elecStatFactor
direction of gravity
Definition: LineSaggingDescriptor.h:79
Trk::LineSaggingDescriptor::s_gravityDirection
static const Amg::Vector3D s_gravityDirection
Definition: LineSaggingDescriptor.h:80
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
Trk::LineSaggingDescriptor
Definition: LineSaggingDescriptor.h:33
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::LineSaggingDescriptor::LineSaggingDescriptor
LineSaggingDescriptor()
Default Constructor.
Definition: LineSaggingDescriptor.h:38
Trk::LineSaggingDescriptor::m_wireTension
double m_wireTension
Definition: LineSaggingDescriptor.h:75
Trk::LineSaggingDescriptor::s_referenceDirection
static const Amg::Vector3D s_referenceDirection
Definition: LineSaggingDescriptor.h:81
Trk::LineSaggingDescriptor::m_linearDensity
double m_linearDensity
Definition: LineSaggingDescriptor.h:76
Trk::DistortionDescriptor
Definition: DistortionDescriptor.h:39