PandaRoot
PndFsmMvdPid.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // File and Version Information:
3 // $Id: PndFsmMvdPid.hh,v 1.4 2006/08/10 09:58:41 klausg Exp $
4 //
5 // Description:
6 // Class PndFsmMvdPid
7 //
8 // Implementation of the MVD for the Fast Sim Detectors
9 //
10 // This software was developed for the PANDA collaboration. If you
11 // use all or part of it, please give an appropriate acknowledgement.
12 //
13 // Author List:
14 // Klaus Goetzen Original Author
15 //
16 // Copyright Information:
17 // Copyright (C) 2006 GSI
18 //
19 //------------------------------------------------------------------------
20 
21 #ifndef PNDFSMMVDPID_H
22 #define PNDFSMMVDPID_H
23 
24 //----------------------
25 // Base Class Headers --
26 //----------------------
27 
28 //-------------------------------
29 // Collaborating class Headers --
30 //-------------------------------
31 #include <iosfwd>
32 #include "ArgList.h"
33 #include "PndFsmAbsDet.h"
34 
35 //--------------------------------------------
36 // Collaborating class forward declarations --
37 // -------------------------------------------
38 class PndFsmTrack;
39 class PndFsmResponse;
40 
41 class PndFsmMvdPid : public PndFsmAbsDet {
42  public:
43  //--------------------
44  // Public interface --
45  //--------------------
46 
47  //
48  // Constructors
49  //
50 
52  PndFsmMvdPid();
53  PndFsmMvdPid(ArgList &par);
56  virtual ~PndFsmMvdPid();
57 
62  virtual PndFsmResponse *respond(PndFsmTrack *t);
63 
64  private:
65  bool detected(PndFsmTrack *t) const;
66 
67  void initParameters();
68  void print(std::ostream &o);
69  bool setParameter(std::string &name, double value);
70 
71  double _thtMin;
72  double _thtMax;
73  double _ptmin;
74  double _dEdxResMulti;
75 
76  enum { nPidType = 5 };
77  enum PidType { electron, muon, pion, kaon, proton };
78 
79  double MeanEnergyLoss(PidType particle);
80  double LandauGaus(double s_mpv, double width1, double width2);
81  double Likelihood(PidType particle);
82  double mpv(PidType particle);
83  double width1(PidType particle);
84  double width2(PidType particle);
85 
86  double _momentum;
87  double _energyloss;
88 };
89 
90 #endif
std::list< std::string > ArgList
Definition: ArgList.h:7
virtual PndFsmResponse * respond(PndFsmTrack *t)
virtual ~PndFsmMvdPid()