00001 #ifndef ALIFMDV1_H
00002 #define ALIFMDV1_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef ALIFMD_H
00018 # include "AliFMD.h"
00019 #endif
00020 #ifndef ROOT_TLorentzVector
00021 # include <TLorentzVector.h>
00022 #endif
00023
00024
00034 class AliFMDv1 : public AliFMD
00035 {
00036 public:
00038 AliFMDv1()
00039 : AliFMD(),
00040 fCurrentDeltaE(0),
00041 fCurrentV(),
00042 fCurrentP(),
00043 fCurrentPdg(0) { fDetailed = kTRUE; }
00047 AliFMDv1(const char *name, const char *title="Detailed geometry")
00048 : AliFMD(name, title),
00049 fCurrentDeltaE(0),
00050 fCurrentV(),
00051 fCurrentP(),
00052 fCurrentPdg(0) { fDetailed = kTRUE; }
00054 virtual ~AliFMDv1() {}
00055
00056
00059 virtual Int_t IsVersion() const {return 1;}
00089 virtual void StepManager();
00090 protected:
00098 Bool_t VMC2FMD(TLorentzVector& v, UShort_t& detector,
00099 Char_t& ring, UShort_t& sector, UShort_t& strip) const;
00108 Bool_t VMC2FMD(Int_t copy, TLorentzVector& v,
00109 UShort_t& detector, Char_t& ring,
00110 UShort_t& sector, UShort_t& strip) const;
00126 Bool_t CheckHit(Int_t trackno, Int_t pdg, Float_t absQ,
00127 const TLorentzVector& p, Float_t edep) const;
00128
00129 Double_t fCurrentDeltaE;
00130 TLorentzVector fCurrentV;
00131 TLorentzVector fCurrentP;
00132 Int_t fCurrentPdg;
00133
00134 ClassDef(AliFMDv1,5)
00135 };
00136
00137 #endif
00138
00139
00140
00141
00142
00143
00144
00145