]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - FMD/AliFMD3.h
Fixing Coverity 10889 (B.Hippolyte)
[u/mrichter/AliRoot.git] / FMD / AliFMD3.h
... / ...
CommitLineData
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*/
27class AliFMD3 : public AliFMDDetector
28{
29public:
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 virtual ~AliFMD3(){}
36
37 /** Initialize the geometry */
38 virtual void Init();
39 /** Get the Z offset (to inner ring) */
40 Double_t GetNoseZ() const { return fNoseZ; }
41
42 /** @return Z position of front of nose */
43 Double_t GetFlangeDepth() const { return fFlangeDepth; }
44 /** @return Nose inner radius */
45 Double_t GetFlangeLength() const { return fFlangeLength; }
46 /** @return Nose outer radius */
47 Double_t GetFlangeWidth() const { return fFlangeWidth; }
48
49 /** @return Length of nose in Z */
50 Double_t GetFiducialRadius() const { return fFiducialRadius; }
51
52 /** @return The angle of the cone on out-side */
53 Double_t GetConeOuterAngle() const { return fConeOuterAngle; }
54 /** @return The angle of the cone on out-side */
55 Double_t GetConeInnerAngle() const { return fConeInnerAngle; }
56
57 /** @return Hole off-set from nose */
58 Double_t GetHoleOffset() const { return fHoleOffset; }
59 /** @return Depth of holes */
60 Double_t GetHoleDepth() const { return fHoleDepth; }
61 /** @return Length of holes */
62 Double_t GetHoleLength() const { return fHoleLength; }
63 /** @return Lowest with of holes */
64 Double_t GetHoleLowWidth() const { return fHoleLowWidth; }
65 /** @return Highest width of holes */
66 Double_t GetHoleHighWidth() const { return fHoleHighWidth; }
67
68 /** @return Length of a bolt */
69 Double_t GetBoltLength() const { return fBoltLength; }
70 /** @return Bolt radius */
71 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 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 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
89protected:
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 ClassDef(AliFMD3, 2);
115};
116
117#endif
118//____________________________________________________________________
119//
120// Local Variables:
121// mode: C++
122// End:
123//
124//
125// EOF
126//