CMS 3D CMS Logo

List of all members | Public Member Functions
MuonEndcapFrameRotation Class Reference

#include <MuonEndcapFrameRotation.h>

Inheritance diagram for MuonEndcapFrameRotation:
MuonFrameRotation

Public Member Functions

Local3DPoint transformPoint (const Local3DPoint &, const G4Step *) const override
 
 ~MuonEndcapFrameRotation () override
 
- Public Member Functions inherited from MuonFrameRotation
 MuonFrameRotation ()
 
virtual ~MuonFrameRotation ()
 

Detailed Description

implementation of FrameRotation for the muon endcap

Author
Arno Straessner, CERN arno..nosp@m.stra.nosp@m.essne.nosp@m.r@ce.nosp@m.rn.ch

Modification:

Definition at line 18 of file MuonEndcapFrameRotation.h.

Constructor & Destructor Documentation

MuonEndcapFrameRotation::~MuonEndcapFrameRotation ( )
inlineoverride

Definition at line 20 of file MuonEndcapFrameRotation.h.

References transformPoint().

20 {};

Member Function Documentation

Local3DPoint MuonEndcapFrameRotation::transformPoint ( const Local3DPoint point,
const G4Step *  s = nullptr 
) const
overridevirtual

Implements MuonFrameRotation.

Definition at line 6 of file MuonEndcapFrameRotation.cc.

References alignCSCRings::s, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by ~MuonEndcapFrameRotation().

6  {
7  if (!s)
8  return Local3DPoint(0.,0.,0.);
9 
10  const G4StepPoint * preStepPoint = s->GetPreStepPoint();
11  const G4TouchableHistory * theTouchable = (const G4TouchableHistory *)preStepPoint->GetTouchable();
12  const G4ThreeVector& trans=theTouchable->GetTranslation();
13 
14  if (trans.z()<0) {
15  // return Local3DPoint(point.x(),-point.z(),point.y());
16  // return Local3DPoint(-point.x(),point.z(),-point.y());
17  return Local3DPoint(-point.x(),-point.z(),-point.y());
18  } else {
19  // return Local3DPoint(point.x(),point.z(),-point.y());
20  return Local3DPoint(point.x(),point.z(),-point.y());
21  }
22 }
T y() const
Definition: PV3DBase.h:63
T z() const
Definition: PV3DBase.h:64
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
T x() const
Definition: PV3DBase.h:62