//____________________________________________________________________
//
-// Concrete implementation of AliFMDSubDetector
+// Concrete implementation of AliFMDDetector
//
// This implements the geometry for FMD2
//
#include "AliFMD2.h" // ALIFMD2_H
-#include "TVirtualMC.h" // ROOT_TVirtualMC
-#include "AliLog.h" // ALILOG_H
#include "AliFMDRing.h" // ALIFMDRING_H
-//____________________________________________________________________
-ClassImp(AliFMD2);
+//====================================================================
+ClassImp(AliFMD2)
+#if 0
+ ; // This is here to keep Emacs for indenting the next line
+#endif
//____________________________________________________________________
-AliFMD2::AliFMD2()
- : AliFMDSubDetector(2)
+AliFMD2::AliFMD2(AliFMDRing* inner, AliFMDRing* outer)
+ : AliFMDDetector(2, inner, outer)
{
- // Default constructor for the FMD2 sub-detector
-}
-
-//____________________________________________________________________
-AliFMD2::~AliFMD2()
-{
- // Destructor - does nothing
+ SetInnerZ(83.4);
+ SetOuterZ(75.2);
}
//____________________________________________________________________
-void
-AliFMD2::SetupGeometry(Int_t airId, Int_t kaptionId)
+void
+AliFMD2::Init()
{
- // Setup the FMD2 sub-detector geometry
- //
- // Parameters:
- //
- // airId Id # of the Air medium
- // kaptionId Id # of the Aluminium medium
- //
- fInnerHoneyLowR = fInner->GetLowR() + 1;
- fInnerHoneyHighR = fOuter->GetHighR() + 1;
- fOuterHoneyLowR = fOuter->GetLowR() + 1;
- fOuterHoneyHighR = fOuter->GetHighR() + 1;
-
- Double_t par[3];
- par[0] = fInner->GetLowR();
- par[1] = fOuterHoneyHighR;
- par[2] = fDz = (TMath::Abs(fInnerZ - fOuterZ)
- + fInner->GetSiThickness()
- + fInner->GetPrintboardThickness()
- + fInner->GetLegLength()
- + fInner->GetModuleSpacing()
- + fHoneycombThickness) / 2;
- fVolumeId = gMC->Gsvolu("FMD2", "TUBE", airId, par, 3);
-
- // Rotate the full sub-detector
- gMC->Matrix(fRotationId, 270, 180, 90, 90, 180, 0);
-
- AliFMDSubDetector::SetupGeometry(airId, kaptionId);
-}
-
-//____________________________________________________________________
-void
-AliFMD2::Geometry(const char* mother, Int_t pbRotId,
- Int_t idRotId, Double_t z)
-{
- // Position the FMD2 sub-detector volume
- //
- // Parameters
- //
- // mother name of the mother volume
- // pbRotId Printboard roation matrix ID
- // idRotId Identity rotation matrix ID
- // z Z position (not really used here, but passed down)
- //
- z = fDz + fOuterZ;
- AliFMDSubDetector::Geometry("FMD2", pbRotId, idRotId, z);
- gMC->Gspos("FMD2", 1, mother, 0, 0, z, fRotationId);
+ AliFMDDetector::Init();
+ SetInnerHoneyHighR(GetOuterHoneyHighR());
}
-
-
//____________________________________________________________________
//
// EOF