]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpVMotif.h
Fixing a backward compatibility issue
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVMotif.h
index 7932085de1034455887b26a5e52d9f829ccd183a..944e5ff78c53880f8bf2a1bf6adb53a0fe864981 100755 (executable)
@@ -1,59 +1,92 @@
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
 // $Id$
-// Category: motif
-//
-// Class AliMpVMotif
-// -----------------
-// Class that defines a motif with its unique ID
-// and the motif type.
-//
-// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
+// $MpId: AliMpVMotif.h,v 1.8 2006/05/24 13:58:18 ivana Exp $
+
+/// \ingroup motif
+/// \class AliMpVMotif
+/// \brief Abstract base class for a motif with its unique ID and the motif type.
+///
+/// \author David Guez, Ivana Hrivnacova; IPN Orsay
 
 #ifndef ALI_MP_V_MOTIF_H
 #define ALI_MP_V_MOTIF_H
 
+#include "AliMpEncodePair.h"
+
 #include <TObject.h>
 #include <TString.h>
-#include <TVector2.h>
 
 class AliMpMotifType;
 class AliMpConnection;
-class AliMpIntPair;
 
 class AliMpVMotif : public TObject
 {
  public:
   AliMpVMotif(const TString &id, AliMpMotifType *motifType);
   AliMpVMotif();
+  virtual ~AliMpVMotif();
 
   // Access methods
   AliMpMotifType  *GetMotifType() const;
   TString          GetID() const;
+
+                   /// Return the number of pad dimensions
   virtual Int_t    GetNofPadDimensions() const=0;
-  virtual TVector2 GetPadDimensions(Int_t i) const=0;
-  virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const=0;
+                   /// Return the i-th pad x dimension
+  virtual Double_t GetPadDimensionX(Int_t i) const=0;
+                   /// Return the i-th pad y dimension
+  virtual Double_t GetPadDimensionY(Int_t i) const=0;
+
+                   /// Return the dimensions of the pad specified by localIndices
+  virtual void GetPadDimensionsByIndices(MpPair_t localIndices,
+                   Double_t& dx, Double_t& dy) const=0;
+                   /// Return the dimensions of the pad specified by localIndices
+  virtual void GetPadDimensionsByIndices(Int_t ixLocal, Int_t iyLocal,
+                   Double_t& dx, Double_t& dy) const=0;
 
   // Geometry
-  virtual TVector2 Dimensions() const=0;
+                   /// Return x dimensions
+  virtual Double_t DimensionX() const=0;
+                   /// Return y dimensions
+  virtual Double_t DimensionY() const=0;
 
   // Other methods
-  AliMpConnection *FindConnectionByLocalPos(const TVector2& localPos) const;
+                   /// Fill local position of the pad specified by local indices
+  virtual void PadPositionLocal(MpPair_t localIndices,
+                      Double_t& posx, Double_t& posy  ) const=0;
+                   /// Fill local position of the pad specified by local indices
+  virtual void PadPositionLocal(Int_t ixLocal, Int_t iyLocal,
+                      Double_t& posx, Double_t& posy  ) const=0;
+
+  AliMpConnection *FindConnectionByLocalPos(
+                      Double_t localPosX, Double_t localPosY) const;
+
+                   /// Return local indices of the pad specified by local position
+  virtual MpPair_t PadIndicesLocal(Double_t localPosX, Double_t localPosY) const=0;
+
   virtual void Print(Option_t *option) const;
-  virtual TVector2     PadPositionLocal(const AliMpIntPair& localIndices) const=0;
-  virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const=0;
 
  private:
-  // methods
+  /// Not implemented
+  AliMpVMotif(const AliMpVMotif& right);
+  /// Not implemented
+  AliMpVMotif&  operator = (const AliMpVMotif& right);
 
   // data members 
-  TString         fID;            //identifier
-  AliMpMotifType *fMotifType;     //the motif type
+  TString         fID;        ///< identifier
+  AliMpMotifType *fMotifType; ///< the motif type
 
   ClassDef(AliMpVMotif,1) // A motif with its ID
 };
 
 // inline functions
 
+/// Return the motif type
 inline  AliMpMotifType* AliMpVMotif::GetMotifType() const {return fMotifType;}
+
+/// Return the motif identifier
 inline  TString  AliMpVMotif::GetID() const {return fID;}
 
 #endif //ALI_MP_V_MOTIF_H