PandaRoot
PndFsmAbsDet.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // File and Version Information:
3 // $Id: FsmAbsDet.hh,v 1.5 2007/05/24 08:07:40 klausg Exp $
4 //
5 // Description:
6 // Class FsmAbsDet
7 //
8 // Abstract Class Interface for 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 PNDFSMABSDET_H
22 #define PNDFSMABSDET_H
23 
24 //----------------------
25 // Base Class Headers --
26 //----------------------
27 
28 //-------------------------------
29 // Collaborating class Headers --
30 //-------------------------------
31 
32 //---------------
33 // C++ Headers --
34 //---------------
35 #include <string>
36 
37 #include "FsmDetTypes.h"
38 
39 #include "ArgList.h"
40 #include "TRandom3.h"
41 #include "TDatabasePDG.h"
42 
43 //--------------------------------------------
44 // Collaborating class forward declarations --
45 // -------------------------------------------
46 class PndFsmResponse;
47 class PndFsmTrack;
48 
49 class PndFsmAbsDet {
50  public:
51  //--------------------
52  // Public interface --
53  //--------------------
54 
55  //
56  // Constructors
57  //
58 
59  PndFsmAbsDet();
60  PndFsmAbsDet(ArgList &par);
61  // Destructor
62  //
63  virtual ~PndFsmAbsDet();
64 
65  //
66  // Accessors to contained information
67  //
68 
69  virtual PndFsmResponse *respond(PndFsmTrack *t) = 0;
70  virtual void print(std::ostream &o);
71 
72  const std::string &detName() { return _detName; }
73  void setName(std::string &name) { _detName = name; };
74  Bool_t doesPid() const { return _doesPid; };
75  void setStorePid(Bool_t doespid = kTRUE) { _doesPid = doespid; };
76 
77  protected:
78  virtual bool setParameter(std::string &name, double value);
79  virtual bool setParameter(std::string &name, std::string &value);
80 
81  virtual void initParameters();
82  void parseParameterList(ArgList &par);
83 
84  //
85  // Modifiers
86  //
87 
88  std::string _detName;
89  double _efficiency; // overall efficiency
90  TRandom3 *_rand;
91  TDatabasePDG *_fdbPDG;
92  Bool_t _doesPid;
93 };
94 
95 #endif
virtual PndFsmResponse * respond(PndFsmTrack *t)=0
double _efficiency
Definition: PndFsmAbsDet.h:89
virtual void print(std::ostream &o)
TDatabasePDG * _fdbPDG
Definition: PndFsmAbsDet.h:91
std::list< std::string > ArgList
Definition: ArgList.h:7
void setStorePid(Bool_t doespid=kTRUE)
Definition: PndFsmAbsDet.h:75
void parseParameterList(ArgList &par)
Bool_t _doesPid
Definition: PndFsmAbsDet.h:92
TRandom3 * _rand
Definition: PndFsmAbsDet.h:90
virtual void initParameters()
void setName(std::string &name)
Definition: PndFsmAbsDet.h:73
const std::string & detName()
Definition: PndFsmAbsDet.h:72
virtual bool setParameter(std::string &name, double value)
std::string _detName
Definition: PndFsmAbsDet.h:88
Bool_t doesPid() const
Definition: PndFsmAbsDet.h:74
virtual ~PndFsmAbsDet()