LCOV - code coverage report
Current view: top level - FMD/FMDbase - AliFMD3.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 16 18 88.9 %
Date: 2016-06-14 17:26:59 Functions: 17 24 70.8 %

          Line data    Source code
       1             : //
       2             : // $Id$
       3             : //
       4             : #ifndef ALIFMD3_H
       5             : #define ALIFMD3_H
       6             : /** @file    AliFMD3.h
       7             :     @author  Christian Holm Christensen <cholm@nbi.dk>
       8             :     @date    Sun Mar 26 18:23:48 2006
       9             :     @brief   Geometry parameters of the FMD3 detector. 
      10             : */
      11             : // Geometry parameters of the FMD3 detector. FMD3 has a fairly
      12             : // complicated support structure.  The cone also supports the
      13             : // beam-pipe. 
      14             : // 
      15             : #ifndef ALIFMDDETECTOR_H
      16             : # include "AliFMDDetector.h"
      17             : #endif
      18             : #include <TObjArray.h>
      19             : 
      20             : /** @class AliFMD3 AliFMD3.h <FMD/AliFMD3.h> 
      21             :     @brief Geometry parameters of the FMD3 detector. 
      22             :     FMD3 has a fairly complicated support structure.  The cone also
      23             :     supports the beam-pipe.
      24             :     @image html FMD3.png 
      25             :     @ingroup FMD_base
      26             : */
      27             : class AliFMD3 : public AliFMDDetector 
      28             : {
      29             : public: 
      30             :   /** Constructor 
      31             :       @param inner Pointer to inner ring description 
      32             :       @param outer Pointer to outer ring description */
      33             :   AliFMD3(AliFMDRing* inner, AliFMDRing* outer);
      34             :   /** Destructor */
      35           0 :   virtual ~AliFMD3(){}
      36             : 
      37             :   /** Initialize the geometry */
      38             :   virtual void Init();
      39             :   /** Get the Z offset (to inner ring) */
      40          12 :   Double_t GetNoseZ() const { return fNoseZ; }
      41             : 
      42             :   /** @return Z position of front of nose */
      43           2 :   Double_t GetFlangeDepth() const { return fFlangeDepth; }
      44             :   /** @return Nose inner radius */
      45           2 :   Double_t GetFlangeLength() const { return fFlangeLength; }
      46             :   /** @return Nose outer radius */
      47           2 :   Double_t GetFlangeWidth() const { return fFlangeWidth; }
      48             : 
      49             :   /** @return Length of nose in Z */
      50           2 :   Double_t GetFiducialRadius() const { return fFiducialRadius; }
      51             : 
      52             :   /** @return The angle of the cone on out-side */
      53          10 :   Double_t GetConeOuterAngle() const { return fConeOuterAngle; }
      54             :   /** @return The angle of the cone on out-side */
      55           0 :   Double_t GetConeInnerAngle() const { return fConeInnerAngle; }
      56             : 
      57             :   /** @return Hole off-set from nose */
      58           2 :   Double_t GetHoleOffset() const { return fHoleOffset; }
      59             :   /** @return Depth of holes  */
      60           2 :   Double_t GetHoleDepth() const { return fHoleDepth; }
      61             :   /** @return Length of holes  */
      62           2 :   Double_t GetHoleLength() const { return fHoleLength; }
      63             :   /** @return Lowest with of holes */
      64           2 :   Double_t GetHoleLowWidth() const { return fHoleLowWidth; }
      65             :   /** @return Highest width of holes */
      66           2 :   Double_t GetHoleHighWidth() const { return fHoleHighWidth; }
      67             : 
      68             :   /** @return Length of a bolt  */
      69           2 :   Double_t GetBoltLength() const { return fBoltLength; }
      70             :   /** @return Bolt radius  */
      71           2 :   Double_t GetBoltRadius() const { return fBoltRadius; }
      72             : 
      73             :   
      74             :   /** @return array of 3-vectors (z, r_low, r_high) of the cone
      75             :       radii. */
      76           2 :   const TObjArray& ConeRadii() const { return fConeRadii; }
      77             :   /** @return array of 2-vectors (x,y) of the fiducial holes in the
      78             :               flanges.  coordinates are in the global coordinate
      79             :               system. */
      80           2 :   const TObjArray& FiducialHoles() const { return fFiducialHoles; }
      81             :     
      82             :   /** Get the cone radii at @a z. 
      83             :       @param z Point to evaulate at 
      84             :       @param opt If @c "O" get the outer radii, if @c "I" get the
      85             :       inner radii. 
      86             :       @return the radius of the cone */
      87             :   Double_t ConeR(Double_t z, Option_t* opt="O") const;
      88             : 
      89             : protected: 
      90             :   Double_t      fNoseZ;                 // Z position of front of nose
      91             :   Double_t      fFlangeDepth;           // Depth of flanges 
      92             :   Double_t      fFlangeHighR;           // Outer radius of flanges. 
      93             :   Double_t      fFlangeLength;          // Length of flanges 
      94             :   Double_t      fFlangeWidth;           // Width of flanges 
      95             : 
      96             :   Double_t      fFiducialRadius;        // Radius of fiducial holes.
      97             : 
      98             :   Double_t      fConeInnerAngle;        // Angle of cone on inside  
      99             :   Double_t      fConeOuterAngle;        // Angle of cone on outside  
     100             : 
     101             :   Double_t      fHoleOffset;            // Offset (from nose-tip) of
     102             :                                         // holes 
     103             :   Double_t      fHoleDepth;             // Depth of holes 
     104             :   Double_t      fHoleLength;            // Length of holes 
     105             :   Double_t      fHoleLowWidth;          // Lowest with of holes
     106             :   Double_t      fHoleHighWidth;         // Highest width of holes
     107             :   
     108             :   Double_t      fBoltLength;            // Length of a bolt 
     109             :   Double_t      fBoltRadius;            // Bolt radius 
     110             : 
     111             :   TObjArray     fConeRadii;             // Array of cone radii.
     112             :   TObjArray     fFiducialHoles;         // Array of fiducial hole (x,y)
     113             :   
     114    11956850 :   ClassDef(AliFMD3, 2);
     115             : };
     116             : 
     117             : #endif
     118             : //____________________________________________________________________
     119             : //
     120             : // Local Variables:
     121             : //   mode: C++
     122             : // End:
     123             : //
     124             : //
     125             : // EOF
     126             : //

Generated by: LCOV version 1.11