1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 #include "AliMpPadUID.h"
20 /// \class AliMpPadUID
22 /// Unique ID for pads
24 /// \author Laurent Aphecetche, Subatech
30 //_____________________________________________________________________________
31 AliMpPadUID::AliMpPadUID(UInt_t uid)
38 //_____________________________________________________________________________
39 AliMpPadUID::AliMpPadUID(Int_t detElemId, Int_t manuId, Int_t manuChannel)
43 SetUniqueID(BuildUniqueID(detElemId,manuId,manuChannel));
46 //_____________________________________________________________________________
47 AliMpPadUID::~AliMpPadUID()
52 //_____________________________________________________________________________
54 AliMpPadUID::BuildUniqueID(Int_t detElemId, Int_t manuId,
57 /// Build a single integer with id information
58 return ( ( detElemId ) | ( manuId << 12 ) | ( manuChannel << 24 ) );
61 //_____________________________________________________________________________
63 AliMpPadUID::DetElemId(UInt_t uniqueID)
65 /// Return detection element id part of the uniqueID
66 return uniqueID & 0xFFF;
69 //_____________________________________________________________________________
71 AliMpPadUID::ManuChannel(UInt_t uniqueID)
73 /// Return manuChannel part of the uniqueID
74 return ( uniqueID & 0x3F000000 ) >> 24;
77 //_____________________________________________________________________________
79 AliMpPadUID::ManuId(UInt_t uniqueID)
81 /// Return manuId part of the uniqueID
82 return ( uniqueID & 0xFFF000 ) >> 12;