MUON + CheckCompiler
[u/mrichter/AliRoot.git] / MUON / MUONmapping / AliMpPadUID.cxx
CommitLineData
1ef5468a 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
7* Permission to use, copy, modify and distribute this software and its *
8* documentation strictly for non-commercial purposes is hereby granted *
9* without fee, provided that the above copyright notice appears in all *
10* copies and that both the copyright notice and this permission notice *
11* appear in the supporting documentation. The authors make no claims *
12* about the suitability of this software for any purpose. It is *
13* provided "as is" without express or implied warranty. *
14**************************************************************************/
15
16// $Id$
17
18#include "AliMpPadUID.h"
19
20/// \class AliMpPadUID
21///
22/// Unique ID for pads
23///
24/// \author Laurent Aphecetche, Subatech
25
26/// \cond CLASSIMP
27ClassImp(AliMpPadUID)
28/// \endcond
29
30//_____________________________________________________________________________
31AliMpPadUID::AliMpPadUID(UInt_t uid)
32: TObject()
33{
34 /// ctor
35 SetUniqueID(uid);
36}
37
38//_____________________________________________________________________________
39AliMpPadUID::AliMpPadUID(Int_t detElemId, Int_t manuId, Int_t manuChannel)
40: TObject()
41{
42 /// ctor
43 SetUniqueID(BuildUniqueID(detElemId,manuId,manuChannel));
44}
45
46//_____________________________________________________________________________
47AliMpPadUID::~AliMpPadUID()
48{
49 /// dtor
50}
51
52//_____________________________________________________________________________
53UInt_t
54AliMpPadUID::BuildUniqueID(Int_t detElemId, Int_t manuId,
55 Int_t manuChannel)
56{
57 /// Build a single integer with id information
58 return ( ( detElemId ) | ( manuId << 12 ) | ( manuChannel << 24 ) );
59}
60
61//_____________________________________________________________________________
62Int_t
63AliMpPadUID::DetElemId(UInt_t uniqueID)
64{
65 /// Return detection element id part of the uniqueID
66 return uniqueID & 0xFFF;
67}
68
69//_____________________________________________________________________________
70Int_t
71AliMpPadUID::ManuChannel(UInt_t uniqueID)
72{
73 /// Return manuChannel part of the uniqueID
74 return ( uniqueID & 0x3F000000 ) >> 24;
75}
76
77//_____________________________________________________________________________
78Int_t
79AliMpPadUID::ManuId(UInt_t uniqueID)
80{
81 /// Return manuId part of the uniqueID
82 return ( uniqueID & 0xFFF000 ) >> 12;
83}