99fb489d0ef82255919b53ee797f63b144938168
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpConstants.cxx
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 // $MpId: AliMpConstants.cxx,v 1.11 2006/05/24 13:58:29 ivana Exp $
18 // Category: basic
19 //
20 // Class AliMpConstants
21 // --------------------
22 // Class for globally used constants definition.
23 // Included in AliRoot: 2003/05/02
24 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
25
26 #include "AliMpConstants.h"
27
28 #include <TMath.h>
29 #include <TVector2.h>
30
31 /// \cond CLASSIMP
32 ClassImp(AliMpConstants)
33 /// \endcond
34
35 // static data
36 const Double_t AliMpConstants::fgkLengthTolerance = 1e-05; // 0.1 mum
37 const Double_t AliMpConstants::fgkLengthStep = 0.1; // 1 mm
38 const Int_t    AliMpConstants::fgkStartPadIndex = 1;
39 const Int_t    AliMpConstants::fgkNofChambers = 14;
40 const Int_t    AliMpConstants::fgkNofTrackingChambers = 10;
41 const Int_t    AliMpConstants::fgkNofGeomModules = 20;
42 const Int_t AliMpConstants::fgkNonBendingManuMask(1<<10);
43
44 //_____________________________________________________________________________
45 AliMpConstants::AliMpConstants()
46   : TObject() 
47 {
48 /// Default constructor  
49 }
50
51 //_____________________________________________________________________________
52 AliMpConstants::~AliMpConstants() 
53 {
54 ///Destructor
55 }
56
57 //_____________________________________________________________________________
58 Bool_t  AliMpConstants::IsEqual(Double_t length1, Double_t length2)
59 {
60 /// Compare lengths within the length tolerance.
61
62   return TMath::Abs(length1 - length2) < fgkLengthTolerance;
63 }  
64
65
66 //_____________________________________________________________________________
67 Bool_t  AliMpConstants::IsEqual(const TVector2& v1, const TVector2& v2)
68 {
69 /// Compare x, y vector coordinates within the length tolerance.
70
71   return (  TMath::Abs(v1.X() - v2.X()) 
72           + TMath::Abs(v1.Y() - v2.Y())) < 2.*fgkLengthTolerance;
73 }
74
75 //_____________________________________________________________________________
76 Int_t
77 AliMpConstants::ManuMask(AliMp::PlaneType planeType)
78 {
79 /// The manuIDs get an offset if they are in the non-bending plane
80
81   return ( planeType == AliMp::kNonBendingPlane ) ? fgkNonBendingManuMask : 0;
82 }