CMS 3D CMS Logo

TotemT1Organization.h
Go to the documentation of this file.
1 #ifndef Forward_TotemT1Organization_h
2 #define Forward_TotemT1Organization_h 1
3 // -*- C++ -*-
4 //
5 // Package: Forward
6 // Class : TotemT1Organization
7 //
17 //
18 // Original Author: R. Capra
19 // Created: Tue May 16 10:14:34 CEST 2006
20 //
21 
22 // system include files
23 
24 // user include files
25 
27 
29 public:
30  // ---------- public enums -------------------------------
31 
32  enum ObjectType {
33  Undefined = 0,
34  Upper = 1,
35  Lower = 2,
38  Frame1 = 5,
43  Frame4Left = 10,
45  Frame5 = 12,
49  };
50 
51 public:
52  // ---------- Constructor and destructor -----------------
54  ~TotemT1Organization() override;
55 
56  // ---------- member functions ---------------------------
57  uint32_t getUnitID(const G4Step* aStep) const override;
58 
59  int getCurrentUnitID(void) const;
60  void setCurrentUnitID(int currentUnitID);
61 
62  // ---------- Detector position --------------------------
63 
64  int getCurrentDetectorPosition(void) const;
65  void setCurrentDetectorPosition(int currentDetectorPosition);
66 
67  // ---------- Plane: between 0 and (nPlanes-1) (or -1 for Undefined)
68  int getCurrentPlane(void) const;
69  void setCurrentPlane(int currentPlane);
70 
71  // ---------- CSC: between 0 and 5 (or -1 for Undefined)
72  int getCurrentCSC(void) const;
73  void setCurrentCSC(int currentCSC);
74 
75  // ---------- Layer: between 0 and (nLayers-1) (or -1 for Undefined)
76  int getCurrentLayer(void) const;
77  void setCurrentLayer(int currentLayer);
78 
79  // ---------- Object Type --------------------------------
80 
81  ObjectType getCurrentObjectType(void) const;
82  void setCurrentObjectType(ObjectType currentObjectType);
83 
84  int fromObjectTypeToInt(ObjectType objectType);
85  int fromObjectTypeToInt(ObjectType objectType, int layer);
86 
87  // ---------- Private methods ----------------------------
88 
89 private:
90  uint32_t getUnitID(const G4Step* aStep);
91 
92  void _checkUnitIDUpdate(void) const;
93  void _checkDataUpdate(void) const;
94 
95  void _FromUnitIDToData(void);
96  void _FromDataToUnitID(void);
97 
98  // ---------- Private data members -----------------------
107 };
108 #endif
void setCurrentObjectType(ObjectType currentObjectType)
void _checkDataUpdate(void) const
int getCurrentPlane(void) const
void setCurrentDetectorPosition(int currentDetectorPosition)
void setCurrentLayer(int currentLayer)
void setCurrentUnitID(int currentUnitID)
ObjectType getCurrentObjectType(void) const
constexpr std::array< uint8_t, layerIndexSize > layer
int getCurrentUnitID(void) const
int getCurrentCSC(void) const
void setCurrentPlane(int currentPlane)
void setCurrentCSC(int currentCSC)
int getCurrentDetectorPosition(void) const
int fromObjectTypeToInt(ObjectType objectType)
uint32_t getUnitID(const G4Step *aStep) const override
void _checkUnitIDUpdate(void) const
int getCurrentLayer(void) const