Fix to avoid deleting cached CDB objects - modified fix by Peter.
[u/mrichter/AliRoot.git] / FMD / AliFMD3.h
CommitLineData
4347b38f 1//
2// $Id$
3//
4#ifndef ALIFMD3_H
5#define ALIFMD3_H
c2fc1258 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*/
02a27b50 11// Geometry parameters of the FMD3 detector. FMD3 has a fairly
12// complicated support structure. The cone also supports the
13// beam-pipe.
14//
1a1fdef7 15#ifndef ALIFMDDETECTOR_H
16# include "AliFMDDetector.h"
a16179cb 17#endif
ed82d35e 18#include <TObjArray.h>
4347b38f 19
9f662337 20/** @class AliFMD3 AliFMD3.h <FMD/AliFMD3.h>
c2fc1258 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
9f662337 25 @ingroup FMD_base
26*/
1a1fdef7 27class AliFMD3 : public AliFMDDetector
4347b38f 28{
1a1fdef7 29public:
9f662337 30 /** Constructor
31 @param inner Pointer to inner ring description
32 @param outer Pointer to outer ring description */
1a1fdef7 33 AliFMD3(AliFMDRing* inner, AliFMDRing* outer);
9f662337 34 /** Destructor */
1a1fdef7 35 virtual ~AliFMD3(){}
36
37 /** Initialize the geometry */
38 virtual void Init();
ed82d35e 39 /** Get the Z offset (to inner ring) */
40 Double_t GetNoseZ() const { return fNoseZ; }
1a1fdef7 41
42 /** @return Z position of front of nose */
ed82d35e 43 Double_t GetFlangeDepth() const { return fFlangeDepth; }
1a1fdef7 44 /** @return Nose inner radius */
ed82d35e 45 Double_t GetFlangeLength() const { return fFlangeLength; }
1a1fdef7 46 /** @return Nose outer radius */
ed82d35e 47 Double_t GetFlangeWidth() const { return fFlangeWidth; }
48
1a1fdef7 49 /** @return Length of nose in Z */
ed82d35e 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; }
1a1fdef7 67
ed82d35e 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
1a1fdef7 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
ed82d35e 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);
4347b38f 115};
116
117#endif
0d0e6995 118//____________________________________________________________________
119//
120// Local Variables:
121// mode: C++
122// End:
123//
4347b38f 124//
125// EOF
126//