ATLAS Offline Software
MdtTubeInChamberHashTableType.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  * Muon Calibration Identifiers
7  * -----------------------------------------
8  *
9  * Author : Martin Woudstra
10  * Creation Date: 09 May 2005
11  * Last Update : 09 May 2005
12  ***************************************************************************/
13 
18 #ifndef MUONCALIBIDENTIFIER_MDTTUBEINCHAMBERHASHTABLETYPE_H
19 # define MUONCALIBIDENTIFIER_MDTTUBEINCHAMBERHASHTABLETYPE_H
20 // std
21 
22 // other packages
23 
24 // this package
28 
30  public IdentifierHashCalc<MdtTubeInChamberIdFields> {
31 public:
37  bool operator==( const MdtTubeInChamberHashTableType& ) const;
39  bool operator==( const MdtChamberTypeInfo& ) const;
41  unsigned int nMultilayers() const;
43  unsigned int nLayers() const;
45  unsigned int nTubes() const;
47  unsigned int nTotalTubes() const;
48  private:
50 
51 };
52 
54  const MdtChamberTypeInfo& type )
55  : m_chamberType( type )
56 {
57  BaseClass::setFieldLimits( MdtTubeInChamberIdFields::kMultilayerField,
58  MdtTubeId::multilayerMin(),
59  MdtTubeId::multilayerMin() + m_chamberType.nMultilayers() - 1 );
60  BaseClass::setFieldLimits( MdtTubeInChamberIdFields::kLayerField,
61  MdtTubeId::layerMin(),
62  MdtTubeId::layerMin() + m_chamberType.nLayers() - 1 );
63  BaseClass::setFieldLimits( MdtTubeInChamberIdFields::kTubeField,
64  MdtTubeId::tubeMin(),
65  MdtTubeId::tubeMin() + m_chamberType.nTubes() - 1 );
66 }
67 
68 inline unsigned int MdtTubeInChamberHashTableType::nMultilayers() const {
69  return m_chamberType.nMultilayers();
70 }
71 
72 inline bool
74  return m_chamberType == rhs.m_chamberType;
75 }
76 
78  return m_chamberType == rhs;
79 }
80 
81 inline unsigned int MdtTubeInChamberHashTableType::nLayers() const {
82  return m_chamberType.nLayers();
83 }
84 
85 inline unsigned int MdtTubeInChamberHashTableType::nTubes() const {
86  return m_chamberType.nTubes();
87 }
88 
89 inline unsigned int MdtTubeInChamberHashTableType::nTotalTubes() const {
90  return m_chamberType.nTotalTubes();
91 }
92 
93 
94 
95 
96 #endif // MUONCALIBIDENTIFIER_MDTTUBEINCHAMBERHASHTABLETYPE_H
MdtTubeInChamberHashTableType::MdtTubeInChamberHashTableType
MdtTubeInChamberHashTableType(const MdtChamberTypeInfo &type)
constructor
Definition: MdtTubeInChamberHashTableType.h:53
MdtTubeInChamberIdFields::kMultilayerField
@ kMultilayerField
Definition: MdtTubeInChamberIdFields.h:40
MdtChamberTypeInfo::nTubes
unsigned int nTubes() const
Return the number of tubes per layer.
Definition: MdtChamberTypeInfo.h:70
MdtTubeInChamberHashTableType::m_chamberType
MdtChamberTypeInfo m_chamberType
Definition: MdtTubeInChamberHashTableType.h:56
MdtTubeInChamberIdFields::kLayerField
@ kLayerField
Definition: MdtTubeInChamberIdFields.h:40
MdtTubeInChamberIdFields.h
MdtTubeInChamberHashTableType::nTubes
unsigned int nTubes() const
Return the number of tubes per layer.
Definition: MdtTubeInChamberHashTableType.h:85
MdtTubeInChamberHashTableType
holds the MDT chamber type information in the form of a MdtChamberTypeInfo data member.
Definition: MdtTubeInChamberHashTableType.h:30
MdtTubeInChamberHashTableType::nTotalTubes
unsigned int nTotalTubes() const
Return the total number of tubes in the chamber.
Definition: MdtTubeInChamberHashTableType.h:89
MdtTubeInChamberIdFields::kTubeField
@ kTubeField
Definition: MdtTubeInChamberIdFields.h:40
MdtTubeInChamberHashTableType::nLayers
unsigned int nLayers() const
Return the number of layers per multilayer.
Definition: MdtTubeInChamberHashTableType.h:81
MdtChamberTypeInfo::nMultilayers
unsigned int nMultilayers() const
Return the number of multilayers in the chamber.
Definition: MdtChamberTypeInfo.h:60
MdtTubeInChamberHashTableType::BaseClass
IdentifierHashCalc< MdtTubeInChamberIdFields > BaseClass
define type BaseClass
Definition: MdtTubeInChamberHashTableType.h:40
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MdtTubeInChamberHashTableType::nMultilayers
unsigned int nMultilayers() const
Return the number of multilayers in the chamber.
Definition: MdtTubeInChamberHashTableType.h:68
IdentifierHashCalc
Definition: IdentifierHashCalc.h:29
MdtChamberTypeInfo.h
MdtChamberTypeInfo
Simple data class that holds the MDT chamber type information: number of multilayers,...
Definition: MdtChamberTypeInfo.h:26
MdtTubeInChamberHashTableType::operator==
bool operator==(const MdtTubeInChamberHashTableType &) const
Definition: MdtTubeInChamberHashTableType.h:73
MdtChamberTypeInfo::nTotalTubes
unsigned int nTotalTubes() const
Return the total number of tubes in the chamber.
Definition: MdtChamberTypeInfo.h:75
IdentifierHashCalc.h
MdtChamberTypeInfo::nLayers
unsigned int nLayers() const
Return the number of layers per multilayer.
Definition: MdtChamberTypeInfo.h:65