CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 DDCompactView &cpv)
 
virtual Local3DPoint transformPoint (const Local3DPoint &, const G4Step *) const
 
virtual ~MuonRPCFrameRotation ()
 
- Public Member Functions inherited from MuonFrameRotation
 MuonFrameRotation (const DDCompactView &cpv)
 
 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 21 of file MuonRPCFrameRotation.h.

Constructor & Destructor Documentation

MuonRPCFrameRotation::MuonRPCFrameRotation ( const DDCompactView cpv)

Definition at line 9 of file MuonRPCFrameRotation.cc.

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

10  g4numbering = new MuonG4Numbering(cpv);
11  MuonDDDConstants muonConstants(cpv);
12  int theLevelPart=muonConstants.getValue("level");
13  theRegion=muonConstants.getValue("mr_region")/theLevelPart;
14 }
MuonG4Numbering * g4numbering
MuonRPCFrameRotation::~MuonRPCFrameRotation ( )
virtual

Definition at line 16 of file MuonRPCFrameRotation.cc.

References g4numbering.

16  {
17  delete g4numbering;
18 }
MuonG4Numbering * g4numbering

Member Function Documentation

Local3DPoint MuonRPCFrameRotation::transformPoint ( const Local3DPoint point,
const G4Step *  aStep = 0 
) const
virtual

Implements MuonFrameRotation.

Definition at line 20 of file MuonRPCFrameRotation.cc.

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

20  {
21  if (!aStep)
22  return Local3DPoint(0.,0.,0.);
23 
24  //check if endcap
26  bool endcap_muon = (num.getSuperNo(theRegion)!=1);
27  if (endcap_muon){
28  return Local3DPoint(point.x(),point.z(),-point.y());
29  } else {
30  return point;
31  }
32 }
T y() const
Definition: PV3DBase.h:63
MuonG4Numbering * g4numbering
T z() const
Definition: PV3DBase.h:64
MuonBaseNumber PhysicalVolumeToBaseNumber(const G4Step *aStep)
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
int getSuperNo(int level) const
T x() const
Definition: PV3DBase.h:62
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5

Member Data Documentation

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

Definition at line 28 of file MuonRPCFrameRotation.h.

Referenced by MuonRPCFrameRotation(), and transformPoint().