Handle deletion of AliFMDAltroMapping object. If we make the object
[u/mrichter/AliRoot.git] / FMD / AliFMD1.cxx
index 5da3f1f..cbe4e2e 100644 (file)
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
-
 /* $Id$ */
-
+/** @file    AliFMD1.cxx
+    @author  Christian Holm Christensen <cholm@nbi.dk>
+    @date    Sun Mar 26 18:00:23 2006
+    @brief   Implementation of FMD1 parameters 
+*/
 //____________________________________________________________________
 //                                                                          
-// Concrete implementation of AliFMDSubDetector 
+// Concrete implementation of AliFMDDetector 
 //
-// This implements the geometry for FMD1 
+// This implements the geometry for FMD1.  
+// FMD1 has only one ring, of type `inner'.  
+// It is sitting at z=320.
+// It is the FMD ring with highest eta.  
+// FMD1 currently has no support defined. 
 //
 #include "AliFMD1.h"           // ALIFMD1_H 
-#include "AliFMDRing.h"                // ALIFMDRING_H 
-#include "TVirtualMC.h"                // ROOT_TVirtualMC
-#include "AliLog.h"            // ALILOG_H
-
-
-//____________________________________________________________________
-ClassImp(AliFMD1);
+#include <AliLog.h>
+// #include "AliFMDRing.h"             // ALIFMDRING_H 
 
-//____________________________________________________________________
-AliFMD1::AliFMD1() 
-  : AliFMDSubDetector(1) 
-{
-  // Default constructor for the FMD1 sub-detector 
-}
 
-//____________________________________________________________________
-AliFMD1::~AliFMD1() 
-{
-  // Destructor - does nothing 
-}
+//====================================================================
+ClassImp(AliFMD1)
+#if 0
+  ; // This is to keep Emacs from indenting the next line 
+#endif 
 
 //____________________________________________________________________
-void 
-AliFMD1::SetupGeometry(Int_t airId, Int_t kaptionId) 
+AliFMD1::AliFMD1(AliFMDRing* inner) 
+  : AliFMDDetector(1, inner, 0)
 {
-  // Setup the FMD1 sub-detector geometry 
-  // 
-  // Parameters:
-  // 
-  //     airId         Id # of the Air medium 
-  //     kaptionId     Id # of the Aluminium medium 
-  // 
-  fInnerHoneyLowR  = fInner->GetLowR() + 1;
-  fInnerHoneyHighR = fInner->GetHighR() + 1;
-  fOuterHoneyLowR  = 0;
-  fOuterHoneyHighR = 0;
-
-  Double_t par[3];
-  par[0] = fInner->GetLowR();
-  par[1] = fInnerHoneyHighR;
-  par[2] = fDz = (fInner->GetLegLength() 
-                 + fInner->GetSiThickness() 
-                 + fInner->GetPrintboardThickness() 
-                 + fInner->GetModuleSpacing() 
-                 + fHoneycombThickness) / 2;
-  fVolumeId = gMC->Gsvolu("FMD1", "TUBE", airId, par, 3);
-
-  // Rotate the full sub-detector 
-  gMC->Matrix(fRotationId, 270, 180, 90, 90, 180, 0); 
-
-  AliFMDSubDetector::SetupGeometry(airId, kaptionId);
+  // Subtracting 0.25 cm puts the middle plane of the detector at 320
+  // cm
+  Double_t off = 0; // -0.25
+  if (off != 0) 
+    AliWarning(Form("FMD1 is off by %fcm", off));
+  SetInnerZ(321.5 + off);
+      
 }
 
 //____________________________________________________________________
-void 
-AliFMD1::Geometry(const char* mother, Int_t pbRotId, 
-                 Int_t idRotId, Double_t z) 
+void
+AliFMD1::Init() 
 {
-  // Position the FMD1 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)
-  //
-  // The Z passed in isn't used. 
-  z = fInnerZ + fDz;
-  gMC->Gspos("FMD1", 1, mother, 0, 0, z, fRotationId);
-
-  AliFMDSubDetector::Geometry("FMD1", pbRotId, idRotId, z);
+  // Initialize 
+  AliFMDDetector::Init();
+  SetInnerHoneyHighR(22.3716);
 }
 
-  
-
 //____________________________________________________________________
 //
 // EOF