CMS 3D CMS Logo

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

#include <SimG4CMS/Forward/interface/CastorNumberingScheme.h>

Public Member Functions

 CastorNumberingScheme ()
 
virtual uint32_t getUnitID (const G4Step *aStep) const
 
virtual ~CastorNumberingScheme ()
 

Static Public Member Functions

static uint32_t packIndex (int z, int sector, int zmodule)
 
static void unpackIndex (const uint32_t &idx, int &z, int &sector, int &zmodule)
 

Private Types

typedef G4LogicalVolume * lvp
 

Private Member Functions

void detectorLevel (const G4Step *, int &, int *, lvp *) const
 

Private Attributes

lvp lvC3EF
 
lvp lvC3HF
 
lvp lvC4EF
 
lvp lvC4HF
 
lvp lvCAER
 
lvp lvCAES
 
lvp lvCAHR
 
lvp lvCAHS
 
lvp lvCAST
 
lvp lvCASTFar
 
lvp lvCASTNear
 
lvp lvCEDR
 
lvp lvCEDS
 
lvp lvCHDR
 
lvp lvCHDS
 

Detailed Description

Description: This class manages the UnitID that labels Castor sensitive volumes

Usage: Used in CastorSD to get unique ID of sensitive detector element

Definition at line 31 of file CastorNumberingScheme.h.

Member Typedef Documentation

typedef G4LogicalVolume* CastorNumberingScheme::lvp
private

Definition at line 58 of file CastorNumberingScheme.h.

Constructor & Destructor Documentation

CastorNumberingScheme::CastorNumberingScheme ( )

Definition at line 15 of file CastorNumberingScheme.cc.

CastorNumberingScheme::~CastorNumberingScheme ( )
virtual

Definition at line 64 of file CastorNumberingScheme.cc.

Member Function Documentation

void CastorNumberingScheme::detectorLevel ( const G4Step *  aStep,
int &  level,
int *  copyno,
lvp lvs 
) const
private

Definition at line 205 of file CastorNumberingScheme.cc.

uint32_t CastorNumberingScheme::getUnitID ( const G4Step *  aStep) const
virtual

Definition at line 68 of file CastorNumberingScheme.cc.

uint32_t CastorNumberingScheme::packIndex ( int  z,
int  sector,
int  zmodule 
)
static

pack the Unit ID for Castor
Bits 0- 5: zmodule index
Bits 6- 9: sector index
Bits 10-19: unused
Bit 20: +/- z side
Bits 22-27: unused
Bits 28-31: subdetector
(+z=1,-z=2); sector=1..16, zmodule=1..18;

Definition at line 173 of file CastorNumberingScheme.cc.

void CastorNumberingScheme::unpackIndex ( const uint32_t &  idx,
int &  z,
int &  sector,
int &  zmodule 
)
static

Definition at line 191 of file CastorNumberingScheme.cc.

Member Data Documentation

lvp CastorNumberingScheme::lvC3EF
private

Definition at line 64 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvC3HF
private

Definition at line 64 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvC4EF
private

Definition at line 64 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvC4HF
private

Definition at line 64 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCAER
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCAES
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCAHR
private

Definition at line 64 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCAHS
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCAST
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCASTFar
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCASTNear
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCEDR
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCEDS
private

Definition at line 63 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCHDR
private

Definition at line 64 of file CastorNumberingScheme.h.

lvp CastorNumberingScheme::lvCHDS
private

Definition at line 63 of file CastorNumberingScheme.h.