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$
// $MpId: AliMpConstants.cxx,v 1.11 2006/05/24 13:58:29 ivana Exp $
// Category: basic

//-----------------------------------------------------------------------------
// Class AliMpConstants
// --------------------
// Class for globally used constants definition.
// Included in AliRoot: 2003/05/02
// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
//-----------------------------------------------------------------------------

#include "AliMpConstants.h"

#include <TMath.h>

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

// static data
const Double_t AliMpConstants::fgkLengthTolerance = 1e-05; // 0.1 mum
const Double_t AliMpConstants::fgkLengthStep = 0.1; // 1 mm
const Int_t    AliMpConstants::fgkStartPadIndex = 1;
const Int_t    AliMpConstants::fgkNofCathodes = 2;
const Int_t    AliMpConstants::fgkNofChambers = 14;
const Int_t    AliMpConstants::fgkNofTrackingChambers = 10;
const Int_t    AliMpConstants::fgkNofGeomModules = 20;
const Int_t    AliMpConstants::fgkNofLocalBoards = 234;
const Int_t    AliMpConstants::fgkTotalNofLocalBoards = 242;
const Int_t    AliMpConstants::fgkNonBendingManuMask(1<<10);
const Int_t    AliMpConstants::fgkManuNofChannels(64);
const Int_t    AliMpConstants::fgkLocalBoardNofChannels(16);

//_____________________________________________________________________________
AliMpConstants::AliMpConstants()
  : TObject() 
{
/// Default constructor  
}

//_____________________________________________________________________________
AliMpConstants::~AliMpConstants() 
{
///Destructor
}

//_____________________________________________________________________________
Bool_t  AliMpConstants::IsEqual(Double_t length1, Double_t length2)
{
/// Compare lengths within the length tolerance.

  return TMath::Abs(length1 - length2) < fgkLengthTolerance;
}  

//_____________________________________________________________________________
Bool_t  AliMpConstants::IsEqual(Double_t v1x, Double_t v1y, 
                                Double_t v2x, Double_t v2y)
{
/// Compare x, y vector coordinates within the length tolerance.

  return (  TMath::Abs(v1x - v2x) 
          + TMath::Abs(v1y - v2y)) < 2.*fgkLengthTolerance;
}

//_____________________________________________________________________________
Int_t AliMpConstants::ManuMask(AliMp::PlaneType planeType)
{
/// The manuIDs get an offset if they are in the non-bending plane

  return ( planeType == AliMp::kNonBendingPlane ) ? fgkNonBendingManuMask : 0;
}

//_____________________________________________________________________________
Int_t AliMpConstants::NofTriggerChambers() 
{ 
/// Return number of trigger chambers

  return fgkNofChambers - fgkNofTrackingChambers;
}
 AliMpConstants.cxx:1
 AliMpConstants.cxx:2
 AliMpConstants.cxx:3
 AliMpConstants.cxx:4
 AliMpConstants.cxx:5
 AliMpConstants.cxx:6
 AliMpConstants.cxx:7
 AliMpConstants.cxx:8
 AliMpConstants.cxx:9
 AliMpConstants.cxx:10
 AliMpConstants.cxx:11
 AliMpConstants.cxx:12
 AliMpConstants.cxx:13
 AliMpConstants.cxx:14
 AliMpConstants.cxx:15
 AliMpConstants.cxx:16
 AliMpConstants.cxx:17
 AliMpConstants.cxx:18
 AliMpConstants.cxx:19
 AliMpConstants.cxx:20
 AliMpConstants.cxx:21
 AliMpConstants.cxx:22
 AliMpConstants.cxx:23
 AliMpConstants.cxx:24
 AliMpConstants.cxx:25
 AliMpConstants.cxx:26
 AliMpConstants.cxx:27
 AliMpConstants.cxx:28
 AliMpConstants.cxx:29
 AliMpConstants.cxx:30
 AliMpConstants.cxx:31
 AliMpConstants.cxx:32
 AliMpConstants.cxx:33
 AliMpConstants.cxx:34
 AliMpConstants.cxx:35
 AliMpConstants.cxx:36
 AliMpConstants.cxx:37
 AliMpConstants.cxx:38
 AliMpConstants.cxx:39
 AliMpConstants.cxx:40
 AliMpConstants.cxx:41
 AliMpConstants.cxx:42
 AliMpConstants.cxx:43
 AliMpConstants.cxx:44
 AliMpConstants.cxx:45
 AliMpConstants.cxx:46
 AliMpConstants.cxx:47
 AliMpConstants.cxx:48
 AliMpConstants.cxx:49
 AliMpConstants.cxx:50
 AliMpConstants.cxx:51
 AliMpConstants.cxx:52
 AliMpConstants.cxx:53
 AliMpConstants.cxx:54
 AliMpConstants.cxx:55
 AliMpConstants.cxx:56
 AliMpConstants.cxx:57
 AliMpConstants.cxx:58
 AliMpConstants.cxx:59
 AliMpConstants.cxx:60
 AliMpConstants.cxx:61
 AliMpConstants.cxx:62
 AliMpConstants.cxx:63
 AliMpConstants.cxx:64
 AliMpConstants.cxx:65
 AliMpConstants.cxx:66
 AliMpConstants.cxx:67
 AliMpConstants.cxx:68
 AliMpConstants.cxx:69
 AliMpConstants.cxx:70
 AliMpConstants.cxx:71
 AliMpConstants.cxx:72
 AliMpConstants.cxx:73
 AliMpConstants.cxx:74
 AliMpConstants.cxx:75
 AliMpConstants.cxx:76
 AliMpConstants.cxx:77
 AliMpConstants.cxx:78
 AliMpConstants.cxx:79
 AliMpConstants.cxx:80
 AliMpConstants.cxx:81
 AliMpConstants.cxx:82
 AliMpConstants.cxx:83
 AliMpConstants.cxx:84
 AliMpConstants.cxx:85
 AliMpConstants.cxx:86
 AliMpConstants.cxx:87
 AliMpConstants.cxx:88
 AliMpConstants.cxx:89
 AliMpConstants.cxx:90
 AliMpConstants.cxx:91
 AliMpConstants.cxx:92
 AliMpConstants.cxx:93
 AliMpConstants.cxx:94
 AliMpConstants.cxx:95