/* $Id$ */
// Revision of includes 07/05/2004
+/// \ingroup base
+/// \class AliMUONSt12QuadrantSegmentation
+/// \brief Segmentation for MUON quadrants of stations 1 and 2
+
// Class AliMUONSt12QuadrantSegmentation
// -------------------------------------
// Segmentation for MUON quadrants of stations 1 and 2 using
class AliMUONSt12QuadrantSegmentation : public AliMUONVGeometryDESegmentation
{
public:
- AliMUONSt12QuadrantSegmentation(AliMpStationType stationType,
+ AliMUONSt12QuadrantSegmentation(AliMpVSegmentation* segmentation,
+ AliMpStationType stationType,
AliMpPlaneType planeType);
AliMUONSt12QuadrantSegmentation();
virtual Bool_t HasPad(Int_t ix, Int_t iy);
// Returns true if a pad with given indices exists
+ // Quadrant type
+ //
+ virtual AliMUONGeometryDirection GetDirection();
+ // Returns the direction with a constant pad size
+ // Access to mapping
+ virtual const AliMpVSegmentation* GetMpSegmentation() const;
+
// Transform from pad (wire) to real coordinates and vice versa
//
virtual Float_t GetAnod(Float_t xhit) const;
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
-
-
+
// Initialisation
//
virtual void Init(Int_t chamber);
// methods
void UpdateCurrentPadValues(const AliMpPad& pad);
- // 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
//
- AliMpSector* fSector; // sector (from mapping)
- AliMpSectorSegmentation* fSectorSegmentation;// sector segmentation (from mapping)
- AliMpVPadIterator* fSectorIterator; // ! iterator over pads
+ AliMpStationType fStationType; ///< Station type
+ AliMpPlaneType 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