CMS 3D CMS Logo

CastorNumberingScheme.h
Go to the documentation of this file.
1 #ifndef Forward_CastorNumberingScheme_h
2 #define Forward_CastorNumberingScheme_h
3 // -*- C++ -*-
4 //
5 // Package: Forward
6 // Class : CastorNumberingScheme
7 //
16 //
17 // Original Author:
18 // Created: Tue May 16 10:14:34 CEST 2006
19 // $Id: CastorNumberingScheme.h,v 1.5 2009/09/02 20:41:25 sunanda Exp $
20 //
21 
22 // system include files
23 
24 // user include files
25 
26 #include "G4Step.hh"
27 #include "G4LogicalVolume.hh"
28 #include <cstdint>
29 
31 public:
33  virtual ~CastorNumberingScheme();
34 
35  virtual uint32_t getUnitID(const G4Step* aStep) const;
36 
46  // static uint32_t packIndex(int det, int z, int sector, int zmodule);
47  // static void unpackIndex(const uint32_t& idx, int& det, int& z, int& sector, int& zmodule);
48 
49  static uint32_t packIndex(int z, int sector, int zmodule);
50  static void unpackIndex(const uint32_t& idx, int& z, int& sector, int& zmodule);
51 
52 private:
53  typedef G4LogicalVolume* lvp;
54 
55  // Utilities to get detector levels during a step
56  void detectorLevel(const G4Step*, int&, int*, lvp*) const;
57 
60 };
61 
62 #endif
CastorNumberingScheme::lvCAST
lvp lvCAST
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::lvC3EF
lvp lvC3EF
Definition: CastorNumberingScheme.h:59
CastorNumberingScheme::lvCAHR
lvp lvCAHR
Definition: CastorNumberingScheme.h:59
CastorNumberingScheme::lvC3HF
lvp lvC3HF
Definition: CastorNumberingScheme.h:59
CastorNumberingScheme::lvCAES
lvp lvCAES
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::getUnitID
virtual uint32_t getUnitID(const G4Step *aStep) const
Definition: CastorNumberingScheme.cc:86
CastorNumberingScheme::lvp
G4LogicalVolume * lvp
Definition: CastorNumberingScheme.h:53
CastorNumberingScheme::packIndex
static uint32_t packIndex(int z, int sector, int zmodule)
Definition: CastorNumberingScheme.cc:178
CastorNumberingScheme::lvCEDR
lvp lvCEDR
Definition: CastorNumberingScheme.h:58
training_settings.idx
idx
Definition: training_settings.py:16
CastorNumberingScheme::lvCASTNear
lvp lvCASTNear
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::~CastorNumberingScheme
virtual ~CastorNumberingScheme()
Definition: CastorNumberingScheme.cc:84
CastorNumberingScheme::lvCEDS
lvp lvCEDS
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::lvCASTFar
lvp lvCASTFar
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::lvC4HF
lvp lvC4HF
Definition: CastorNumberingScheme.h:59
CastorNumberingScheme::lvCHDR
lvp lvCHDR
Definition: CastorNumberingScheme.h:59
DDAxes::z
CastorNumberingScheme
Definition: CastorNumberingScheme.h:30
CastorNumberingScheme::lvCAHS
lvp lvCAHS
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::unpackIndex
static void unpackIndex(const uint32_t &idx, int &z, int &sector, int &zmodule)
Definition: CastorNumberingScheme.cc:193
CastorNumberingScheme::CastorNumberingScheme
CastorNumberingScheme()
Definition: CastorNumberingScheme.cc:15
CastorNumberingScheme::lvCHDS
lvp lvCHDS
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::lvCAER
lvp lvCAER
Definition: CastorNumberingScheme.h:58
CastorNumberingScheme::lvC4EF
lvp lvC4EF
Definition: CastorNumberingScheme.h:59
CastorNumberingScheme::detectorLevel
void detectorLevel(const G4Step *, int &, int *, lvp *) const
Definition: CastorNumberingScheme.cc:207