1 /**************************************************************************
2 * Copyright(c) 2004, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 //____________________________________________________________________
20 // Utility class to help implement the FMD geometry. This provides
21 // the interface for the concrete geometry implementations of the FMD
24 // The AliFMDGeometry object owns the AliFMDDetector objects
26 // Latest changes by Christian Holm Christensen
28 #include "AliFMDDetector.h" // ALIFMDSUBDETECTOR_H
29 #include "AliFMDRing.h" // ALIFMDRING_H
30 #include <AliLog.h> // ALILOG_H
32 //====================================================================
33 ClassImp(AliFMDDetector)
35 ; // This is here to keep Emacs for indenting the next line
38 //____________________________________________________________________
39 AliFMDDetector::AliFMDDetector(Int_t id, AliFMDRing* inner, AliFMDRing* outer)
40 : TNamed(Form("FMD%d", id), "Forward multiplicity ring"),
45 SetHoneycombThickness();
48 SetInnerHoneyHighR(0);
52 SetOuterHoneyHighR(0);
55 //____________________________________________________________________
57 AliFMDDetector::Init()
60 SetInnerHoneyLowR(fInner->GetLowR() + 1.);
61 SetInnerHoneyHighR(fInner->GetHighR() + 1.);
64 SetOuterHoneyLowR(fOuter->GetLowR() + 1.);
65 SetOuterHoneyHighR(fOuter->GetHighR() + 1.);
70 //____________________________________________________________________
72 AliFMDDetector::GetRing(Char_t id) const
76 case 'I': return GetInner();
78 case 'O': return GetOuter();
83 //____________________________________________________________________
85 AliFMDDetector::GetRingZ(Char_t id) const
89 case 'I': return GetInnerZ();
91 case 'O': return GetOuterZ();
95 //____________________________________________________________________
97 AliFMDDetector::Detector2XYZ(Char_t ring,
104 AliFMDRing* r = GetRing(ring);
107 r->Detector2XYZ(sector, strip, x, y, z);
110 //____________________________________________________________________