]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDv1.h
08-mar-2006 NvE Time offset correction in IceF2k extended to allow also a user define...
[u/mrichter/AliRoot.git] / FMD / AliFMDv1.h
index 5f7b8f8719df930ab1369639a7739b3a68e20ac0..711c8e29da57591a24001730138a17beb805e007 100644 (file)
@@ -1,45 +1,70 @@
 #ifndef ALIFMDV1_H
 #define ALIFMDV1_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
+ * reserved. 
+ *
+ * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
+ *
+ * See cxx source for full Copyright notice                               
+ */
 
-///////////////////////////////////////////////
-//  Manager and hits classes for set:FMD     //
-////////////////////////////////////////////////
-#include "AliFMD.h"
+//____________________________________________________________________
+//
+//  Manager class for the FMD - Detailed version. 
+//  Implements the full geometry, 
+//  And does stepping
+// 
+#ifndef ALIFMD_H 
+# include "AliFMD.h"
+#endif
+#ifndef ROOT_TLorentzVector
+# include <TLorentzVector.h>
+#endif
  
-class AliFMDv1 : public AliFMD {
-  
+//____________________________________________________________________
+class AliFMDv1 : public AliFMD 
+{
 public:
-  AliFMDv1() {};
-  AliFMDv1(const char *name, const char *title);
-  virtual       ~AliFMDv1() {}
-  virtual void   CreateGeometry();
-  virtual void   CreateMaterials();
-  virtual void   DrawDetector();
-  virtual void   Init();
+  AliFMDv1()
+    : AliFMD(),
+      fCurrentDeltaE(0),
+      fCurrentV(),
+      fCurrentP(),
+      fCurrentPdg(0) { fDetailed = kTRUE; }
+  AliFMDv1(const char *name, const char *title="Detailed geometry") 
+    : AliFMD(name, title),
+      fCurrentDeltaE(0),
+      fCurrentV(),
+      fCurrentP(),
+      fCurrentPdg(0) { fDetailed = kTRUE; }
+  virtual ~AliFMDv1() {}
+
+  // Required member functions 
   virtual Int_t  IsVersion() const {return 1;}
   virtual void   StepManager();
-  //  virtual void Hit2Digits(Int_t bgrEvent, Option_t *opt1=" ",
-  //   Option_t *opt2=" ",Text_t *name=" "); // hit to digit for v1 :test  
- virtual void  Response( Float_t Edep);
-//private:
- //Int_t fCharge; 
-
-
 protected:
-   Int_t fIdSens1; // Sensetive volume  in FMD
-   Int_t fIdSens2; // Sensetive volume  in FMD
-   Int_t fIdSens3; // Sensetive volume  in FMD
-   Int_t fIdSens4; // Sensetive volume  in FMD
-   Int_t fIdSens5; // Sensetive volume  in FMD
-   
-// Background event for event mixing
+#ifndef USE_PRE_MOVE
+  Bool_t VMC2FMD(TLorentzVector& v, UShort_t& detector,
+                Char_t& ring, UShort_t& sector, UShort_t& strip) const;
+  Bool_t VMC2FMD(Int_t copy, TLorentzVector& v,
+                UShort_t& detector, Char_t& ring,
+                UShort_t& sector, UShort_t& strip) const;
+#endif  
+
+  Double_t       fCurrentDeltaE;    // The current accumulated energy loss
+  TLorentzVector fCurrentV;         // Current production vertex 
+  TLorentzVector fCurrentP;         // Current momentum vector 
+  Int_t          fCurrentPdg;       // Current PDG code 
   
-  ClassDef(AliFMDv1,2)  //Class for FMD version 0
+  ClassDef(AliFMDv1,5)  // Detailed FMD geometry
 };
 
 #endif
-
-
+//____________________________________________________________________
+//
+// Local Variables:
+//   mode: C++
+// End:
+//
+// EOF
+//