#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
+//