CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
MuonRPCFrameRotation Class Reference

#include <MuonRPCFrameRotation.h>

Inheritance diagram for MuonRPCFrameRotation:
MuonFrameRotation

Public Member Functions

 MuonRPCFrameRotation (const MuonGeometryConstants &constants, const MuonOffsetMap *offMap, bool dd4hep)
 
Local3DPoint transformPoint (const Local3DPoint &, const G4Step *) const override
 
 ~MuonRPCFrameRotation () override
 
- Public Member Functions inherited from MuonFrameRotation
 MuonFrameRotation ()
 
virtual ~MuonFrameRotation ()
 

Private Attributes

MuonG4Numberingg4numbering
 
int theRegion
 

Detailed Description

implementation of FrameRotation for the muon rpc

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

Modification:

Definition at line 22 of file MuonRPCFrameRotation.h.

Constructor & Destructor Documentation

MuonRPCFrameRotation::MuonRPCFrameRotation ( const MuonGeometryConstants constants,
const MuonOffsetMap offMap,
bool  dd4hep 
)

Definition at line 8 of file MuonRPCFrameRotation.cc.

References g4numbering, MuonGeometryConstants::getValue(), and theRegion.

12  g4numbering = new MuonG4Numbering(muonConstants, offMap, dd4hep);
13  int theLevelPart = muonConstants.getValue("level");
14  theRegion = muonConstants.getValue("mr_region") / theLevelPart;
15 }
MuonG4Numbering * g4numbering
tuple dd4hep
Definition: dd4hep_cff.py:3
MuonRPCFrameRotation::~MuonRPCFrameRotation ( )
override

Definition at line 17 of file MuonRPCFrameRotation.cc.

References g4numbering.

17 { delete g4numbering; }
MuonG4Numbering * g4numbering

Member Function Documentation

Local3DPoint MuonRPCFrameRotation::transformPoint ( const Local3DPoint point,
const G4Step *  aStep 
) const
overridevirtual

Reimplemented from MuonFrameRotation.

Definition at line 19 of file MuonRPCFrameRotation.cc.

References g4numbering, MuonBaseNumber::getSuperNo(), pileupDistInMC::num, MuonG4Numbering::PhysicalVolumeToBaseNumber(), theRegion, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

19  {
20  //check if endcap
22  bool endcap_muon = (num.getSuperNo(theRegion) != 1);
23  return (endcap_muon) ? Local3DPoint(point.x(), point.z(), -point.y()) : Local3DPoint(point.x(), point.y(), point.z());
24 }
T y() const
Definition: PV3DBase.h:60
MuonG4Numbering * g4numbering
T z() const
Definition: PV3DBase.h:61
MuonBaseNumber PhysicalVolumeToBaseNumber(const G4Step *aStep)
int getSuperNo(int level) const
T x() const
Definition: PV3DBase.h:59
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9

Member Data Documentation

MuonG4Numbering* MuonRPCFrameRotation::g4numbering
private
int MuonRPCFrameRotation::theRegion
private

Definition at line 30 of file MuonRPCFrameRotation.h.

Referenced by MuonRPCFrameRotation(), and transformPoint().