f0db6aeac039f6c2360019e176824a7ce3382eb9
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpConnection.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpConnection.h,v 1.6 2005/08/26 15:43:36 ivana Exp $
6
7 /// \ingroup motif
8 /// \class AliMpConnection
9 /// \brief A connection properties.
10 ///
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_CONNECTION_H
14 #define ALI_MP_CONNECTION_H
15
16 #include <TObject.h>
17 #include <TString.h>
18
19 #include "AliMpMotifType.h"
20 #include "AliMpIntPair.h"
21
22 class AliMpConnection : public TObject
23 {
24   public:
25     AliMpConnection();
26     AliMpConnection(Int_t padNum,Int_t bergNum,Int_t kaptonNum,Int_t gassiNum);
27     virtual ~AliMpConnection();
28
29     // methods
30
31     // accessors
32     Int_t GetBergNum()   const {return fBergNum;}
33     Int_t GetKaptonNum() const {return fKaptonNum;}
34     Int_t GetGassiNum()  const {return fGassiNum;}
35     Int_t GetPadNum()  const {return fPadNum;}
36     AliMpMotifType *GetOwner() const {return fOwner;}
37     
38     AliMpIntPair LocalIndices() const;
39     TString  PadName() const;
40     // modifiers
41     void SetOwner(AliMpMotifType *owner) {fOwner=owner;}
42
43   protected:
44     AliMpConnection(const AliMpConnection& right);
45
46     // operators
47     AliMpConnection& operator=(const AliMpConnection& right);
48     
49   private:
50     // data members
51     Int_t fPadNum;    // Pad number
52     Int_t fBergNum;   // Berg connector number
53     Int_t fKaptonNum; // Kapton connector number
54     Int_t fGassiNum;  // Gassiplex channel number
55     AliMpMotifType *fOwner; //The motif type which contains this connection
56
57   ClassDef(AliMpConnection,1)  // Connection description
58 };
59
60 // inline functions
61
62 inline TString AliMpConnection::PadName() const 
63 { return fOwner->PadName(fPadNum); }
64
65 inline AliMpIntPair AliMpConnection::LocalIndices() const
66 { return fOwner->FindLocalIndicesByConnection(this);}
67
68 #endif //ALI_MP_CONNECTION_H