ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/

// $Id$

#include "AliMpPadUID.h"

/// \class AliMpPadUID
///
/// Unique ID for pads
/// 
/// \author Laurent Aphecetche, Subatech

/// \cond CLASSIMP
ClassImp(AliMpPadUID)
/// \endcond

//_____________________________________________________________________________
AliMpPadUID::AliMpPadUID(UInt_t uid)
: TObject()
{
  /// ctor
  SetUniqueID(uid);
}

//_____________________________________________________________________________
AliMpPadUID::AliMpPadUID(Int_t detElemId, Int_t manuId, Int_t manuChannel)
: TObject()
{
  /// ctor
  SetUniqueID(BuildUniqueID(detElemId,manuId,manuChannel));
}

//_____________________________________________________________________________
AliMpPadUID::~AliMpPadUID()
{
  /// dtor
}

//_____________________________________________________________________________
UInt_t 
AliMpPadUID::BuildUniqueID(Int_t detElemId, Int_t manuId, 
                          Int_t manuChannel)
{
  /// Build a single integer with id information
  return ( ( detElemId ) | ( manuId << 12 ) | ( manuChannel << 24 ) );
}

//_____________________________________________________________________________
Int_t
AliMpPadUID::DetElemId(UInt_t uniqueID)
{
  /// Return detection element id part of the uniqueID
  return uniqueID & 0xFFF;
}

//_____________________________________________________________________________
Int_t
AliMpPadUID::ManuChannel(UInt_t uniqueID)
{
  /// Return manuChannel part of the uniqueID
  return ( uniqueID & 0x3F000000 ) >> 24;
}

//_____________________________________________________________________________
Int_t
AliMpPadUID::ManuId(UInt_t uniqueID)
{
  /// Return manuId part of the uniqueID
  return ( uniqueID & 0xFFF000 ) >> 12;
}
 AliMpPadUID.cxx:1
 AliMpPadUID.cxx:2
 AliMpPadUID.cxx:3
 AliMpPadUID.cxx:4
 AliMpPadUID.cxx:5
 AliMpPadUID.cxx:6
 AliMpPadUID.cxx:7
 AliMpPadUID.cxx:8
 AliMpPadUID.cxx:9
 AliMpPadUID.cxx:10
 AliMpPadUID.cxx:11
 AliMpPadUID.cxx:12
 AliMpPadUID.cxx:13
 AliMpPadUID.cxx:14
 AliMpPadUID.cxx:15
 AliMpPadUID.cxx:16
 AliMpPadUID.cxx:17
 AliMpPadUID.cxx:18
 AliMpPadUID.cxx:19
 AliMpPadUID.cxx:20
 AliMpPadUID.cxx:21
 AliMpPadUID.cxx:22
 AliMpPadUID.cxx:23
 AliMpPadUID.cxx:24
 AliMpPadUID.cxx:25
 AliMpPadUID.cxx:26
 AliMpPadUID.cxx:27
 AliMpPadUID.cxx:28
 AliMpPadUID.cxx:29
 AliMpPadUID.cxx:30
 AliMpPadUID.cxx:31
 AliMpPadUID.cxx:32
 AliMpPadUID.cxx:33
 AliMpPadUID.cxx:34
 AliMpPadUID.cxx:35
 AliMpPadUID.cxx:36
 AliMpPadUID.cxx:37
 AliMpPadUID.cxx:38
 AliMpPadUID.cxx:39
 AliMpPadUID.cxx:40
 AliMpPadUID.cxx:41
 AliMpPadUID.cxx:42
 AliMpPadUID.cxx:43
 AliMpPadUID.cxx:44
 AliMpPadUID.cxx:45
 AliMpPadUID.cxx:46
 AliMpPadUID.cxx:47
 AliMpPadUID.cxx:48
 AliMpPadUID.cxx:49
 AliMpPadUID.cxx:50
 AliMpPadUID.cxx:51
 AliMpPadUID.cxx:52
 AliMpPadUID.cxx:53
 AliMpPadUID.cxx:54
 AliMpPadUID.cxx:55
 AliMpPadUID.cxx:56
 AliMpPadUID.cxx:57
 AliMpPadUID.cxx:58
 AliMpPadUID.cxx:59
 AliMpPadUID.cxx:60
 AliMpPadUID.cxx:61
 AliMpPadUID.cxx:62
 AliMpPadUID.cxx:63
 AliMpPadUID.cxx:64
 AliMpPadUID.cxx:65
 AliMpPadUID.cxx:66
 AliMpPadUID.cxx:67
 AliMpPadUID.cxx:68
 AliMpPadUID.cxx:69
 AliMpPadUID.cxx:70
 AliMpPadUID.cxx:71
 AliMpPadUID.cxx:72
 AliMpPadUID.cxx:73
 AliMpPadUID.cxx:74
 AliMpPadUID.cxx:75
 AliMpPadUID.cxx:76
 AliMpPadUID.cxx:77
 AliMpPadUID.cxx:78
 AliMpPadUID.cxx:79
 AliMpPadUID.cxx:80
 AliMpPadUID.cxx:81
 AliMpPadUID.cxx:82
 AliMpPadUID.cxx:83