/* $Id$ */
// Revision of includes 07/05/2004
-// Class AliMUONSt12QuadrantSegmentation
-// -------------------------------------
-// Segmentation for MUON quadrants of stations 1 and 2 using
-// the mapping package
-//
-// Author: Ivana Hrivnacova, IPN Orsay
+/// \ingroup base
+/// \class AliMUONSt12QuadrantSegmentation
+/// \brief Segmentation for MUON quadrants of stations 1 and 2 using
+/// the mapping package
+///
+/// \author Ivana Hrivnacova, IPN Orsay
#include "AliMpStationType.h"
#include "AliMpPlaneType.h"
class AliMpSectorSegmentation;
class AliMpVPadIterator;
class AliMpPad;
-class AliMUONSegmentManuIndex;
class AliMUONChamber;
class AliMUONSt12QuadrantSegmentation : public AliMUONVGeometryDESegmentation
{
public:
- AliMUONSt12QuadrantSegmentation(AliMpStationType stationType,
- AliMpPlaneType planeType);
+ AliMUONSt12QuadrantSegmentation(AliMpVSegmentation* segmentation,
+ AliMp::StationType stationType,
+ AliMp::PlaneType planeType);
AliMUONSt12QuadrantSegmentation();
virtual ~AliMUONSt12QuadrantSegmentation();
virtual AliMUONGeometryDirection GetDirection();
// Returns the direction with a constant pad size
// Access to mapping
- virtual const AliMpSectorSegmentation* GetMpSegmentation() const;
+ virtual const AliMpVSegmentation* GetMpSegmentation() const;
// Transform from pad (wire) to real coordinates and vice versa
//
virtual void GetPadC(Int_t ix, Int_t iy, Float_t& x, Float_t& y, Float_t& z);
virtual void GetPadC(Int_t ix, Int_t iy, Float_t& x, Float_t& y);
// Transform from real to pad coordinates
- // get pad for a given connection
- virtual void GetPadE(Int_t &/*ix*/, Int_t &/*iy*/, AliMUONSegmentManuIndex* /*connect*/) {return;}
- virtual AliMUONSegmentManuIndex* GetMpConnection(Int_t /*ix*/, Int_t /*iy*/) {return 0x0;}
- // get electronics connection for given pad
+
// Initialisation
//
virtual void Init(Int_t chamber);
virtual TF1* CorrFunc(Int_t isec) const;
// Get the correction Function
- protected:
+ private:
+ /// Not implemented
AliMUONSt12QuadrantSegmentation(const AliMUONSt12QuadrantSegmentation& rhs);
-
- // operators
+ /// Not implemented
AliMUONSt12QuadrantSegmentation& operator=(const AliMUONSt12QuadrantSegmentation & rhs);
- private:
// methods
void UpdateCurrentPadValues(const AliMpPad& pad);
- void ReadMappingData();
- // constants
- static const Float_t fgkWireD; // default wire pitch
- static const Float_t fgkLengthUnit;// conversion between length units
- // from mapping (mm) to AliRoot (cm)
// data members
// From mapping
//
- AliMpStationType fStationType; // station type
- AliMpPlaneType fPlaneType; // plane type
- AliMpSector* fSector; // ! sector (from mapping)
- AliMpSectorSegmentation* fSectorSegmentation;// ! sector segmentation (from mapping)
- AliMpVPadIterator* fSectorIterator; // ! iterator over pads
+ AliMp::StationType fStationType; ///< Station type
+ AliMp::PlaneType fPlaneType; ///< Plane type
+ const AliMpSector* fSector; ///< Sector (from mapping)
+ AliMpSectorSegmentation* fSectorSegmentation;///< Sector segmentation (from mapping)
+ AliMpVPadIterator* fSectorIterator; //!< Iterator over pads
// Wire pitch
//
- Float_t fWireD; // wire pitch
- // (smaller distance between anode wires)
+ Float_t fWireD; ///< \ brief Wire pitch
+ ///< (smaller distance between anode wires)
// Reference to mother chamber
//
- AliMUONChamber* fChamber; // ! Reference to mother chamber
- Int_t fId; // Identifier
- Float_t fRmin; // inner radius
- Float_t fRmax; // outer radius
- Float_t fZ; // z-position of chamber
+ AliMUONChamber* fChamber; //!< Reference to mother chamber
+ Int_t fId; ///< Identifier
+ Float_t fRmin; ///< Inner radius
+ Float_t fRmax; ///< Outer radius
+ Float_t fZ; ///< Z-position of chamber
// Current pad during integration (cursor for disintegration)
//
- Int_t fIx; // ! pad coord. x
- Int_t fIy; // ! pad coord. y
- Float_t fX; // ! real coord. x
- Float_t fY; // ! real ccord. y
- Int_t fZone; // ! Current zone (sector in AliSegmentation naming)
+ Int_t fIx; //!< Pad coord. x
+ Int_t fIy; //!< Pad coord. y
+ Float_t fX; //!< Real coord. x
+ Float_t fY; //!< Real ccord. y
+ Int_t fZone; //!< Current zone (sector in AliSegmentation naming)
// Current pad and wire during tracking (cursor at hit centre)
//
- Float_t fXhit; // ! x-position of hit
- Float_t fYhit; // ! y-position of hit
+ Float_t fXhit; //!< X-position of hit
+ Float_t fYhit; //!< Y-position of hit
// Reference point to define signal generation condition
//
- Int_t fIxt; // ! pad coord. x
- Int_t fIyt; // ! pad coord. y
- Int_t fIwt; // ! wire number
- Float_t fXt; // ! x
- Float_t fYt; // ! y
+ Int_t fIxt; //!< Pad coord. x
+ Int_t fIyt; //!< Pad coord. y
+ Int_t fIwt; //!< Wire number
+ Float_t fXt; //!< X
+ Float_t fYt; //!< Y
- TObjArray* fCorrA; // ! Array of correction functions
+ TObjArray* fCorrA; //!< Array of correction functions
- ClassDef(AliMUONSt12QuadrantSegmentation,1) // Station1 segmentation
+ ClassDef(AliMUONSt12QuadrantSegmentation,2) // Station1 segmentation
};
#endif //ALI_MUON_ST12_QUADRANT_SEGMENTATION_H