]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpTriggerSegmentation.h
Updates from David Rohr to add checks for fakes and clones and several bugfixes
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpTriggerSegmentation.h
index 3b141ebf1c983b565b212742c0fc2e22b52490c8..effeaaeb7da55b094872379491e152412258a4b1 100644 (file)
@@ -2,13 +2,13 @@
 * See cxx source for full Copyright notice                               */
 
 // $Id$
-// $MpId$
+// $MpId: AliMpTriggerSegmentation.h,v 1.8 2006/05/24 13:58:27 ivana Exp $
 
-/// \ingroup slat
+/// \ingroup mptrigger
 /// \class AliMpTriggerSegmentation
 /// \brief Implementation of AliMpVSegmentation for trigger slats.
-/// 
-/// Author: Laurent Aphecetche
+///
+//  Author: Laurent Aphecetche
 
 #ifndef ALI_MP_TRIGGER_SEGMENTATION_H
 #define ALI_MP_TRIGGER_SEGMENTATION_H
@@ -33,33 +33,65 @@ class AliMpTriggerSegmentation : public AliMpVSegmentation
 {
 public:
   AliMpTriggerSegmentation();
-  AliMpTriggerSegmentation(const AliMpTrigger* slat);
+  AliMpTriggerSegmentation(const AliMpTrigger* slat, Bool_t own = false);
   virtual ~AliMpTriggerSegmentation();
   
   virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
-  
+  virtual AliMpVPadIterator* CreateIterator() const;
+  virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
+                              Bool_t includeSelf=kFALSE,
+                              Bool_t includeVoid=kFALSE) const;
   const char* GetName() const;
   
-  Bool_t HasPad(const AliMpIntPair& indices) const;
-  
-  Int_t MaxPadIndexX();
-  Int_t MaxPadIndexY();
+  Int_t MaxPadIndexX() const;
+  Int_t MaxPadIndexY() const;
+  Int_t NofPads() const { return fNofStrips; }
     
-  virtual AliMpPad PadByLocation(const AliMpIntPair& location
+  virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel
                                  Bool_t warning) const;
   
-  virtual AliMpPad PadByIndices(const AliMpIntPair& indices,  
+  virtual AliMpPad PadByIndices(Int_t ix, Int_t iy,  
                                 Bool_t warning) const;
   
-  virtual AliMpPad PadByPosition(const TVector2& position,
+  virtual AliMpPad PadByPosition(Double_t x, Double_t y,
                                  Bool_t warning) const;
   
   const AliMpTrigger* Slat() const;
    
+  virtual void GetAllElectronicCardIDs(TArrayI& ecn) const;
+  
+  virtual AliMp::PlaneType PlaneType() const;
+   
+  virtual AliMp::StationType StationType() const;
+  virtual Double_t  GetDimensionX() const;
+  virtual Double_t  GetDimensionY() const;
+  
+  virtual Int_t GetNofElectronicCards() const;
+  
+  virtual Double_t  GetPositionX() const;
+  virtual Double_t  GetPositionY() const;
+  
+  virtual Bool_t HasMotifPosition(Int_t manuId) const;
+  
+  virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const;
+  
 private:
-    const AliMpTrigger* fkSlat; // Slat
+  /// Not implemented
+  AliMpTriggerSegmentation(const AliMpTriggerSegmentation& right);
+  /// Not implemented
+  AliMpTriggerSegmentation&  operator = (const AliMpTriggerSegmentation& right);
   
-  ClassDef(AliMpTriggerSegmentation,1) // Segmentation for slat trigger stations
+  const AliMpTrigger* fkSlat;  ///< Slat
+  Bool_t              fIsOwner;///< Trigger slat ownership     
+  Int_t fNofStrips; ///< Number of strips in this slat
+
+  ClassDef(AliMpTriggerSegmentation,3) // Segmentation for slat trigger stations
 };
 
+/// Return station type
+inline AliMp::StationType AliMpTriggerSegmentation::StationType() const
+{ return AliMp::kStationTrigger; }
+
+
 #endif