StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMcParameterDB.h
1 /*****************************************
2  *
3  * $Id: StMcParameterDB.h,v 1.9 2015/03/13 18:44:44 perev Exp $
4  * $Log: StMcParameterDB.h,v $
5  * Revision 1.9 2015/03/13 18:44:44 perev
6  * Roll back
7  *
8  * Revision 1.7 2005/11/22 21:44:16 fisyak
9  * Add Ssd to Associator, add IdTruth options for Svt and Ssd
10  *
11  * Revision 1.6 2003/06/27 03:01:19 calderon
12  * The z cut now depends on z_mc.
13  * The parameterization is done in the parameter DB
14  * with a linearly increasing rms, symmetric in +/- z.
15  *
16  * Revision 1.5 1999/12/14 07:07:41 calderon
17  * Added Ratio Number of Common Hits / Number of Reconstructed Hits for
18  * each detector.
19  * Numbering scheme from StEvent & StMcEvent as per SVT request
20  * Added Kink, V0 and Xi vertex associations.
21  *
22  * Revision 1.4 1999/12/08 00:00:25 calderon
23  * New version of StAssociationMaker.
24  * -Uses new StEvent / StMcEvent
25  * -Includes maps using reconstructed and monte carlo objects as keys for:
26  * TPC Hits
27  * SVT Hits
28  * SSD Hits
29  * FTPC Hits
30  * Tracks (using all 3 hit multimaps)
31  *
32  * Revision 1.3 1999/10/01 14:08:59 calderon
33  * Added Local Hit resolution Histogram. It is made by default
34  * without any requirement of association, to serve
35  * as a diagnostic.
36  * Before building track multimap, check the size of the
37  * tpc hit map. If it is too small, print out a warning
38  * and exit.
39  *
40  * Revision 1.2 1999/09/23 21:25:22 calderon
41  * Added Log & Id
42  * Modified includes according to Yuri
43  *
44  * Changed extension to .h so it would
45  * be accessible from the Root macro
46  *
47  *
48  *****************************************/
49 #ifndef ParameterDB_hh
50 #define ParameterDB_hh
51 
52 #ifndef StMaker_H
53 #include "StMaker.h"
54 #endif
55 
57 public:
58  static StMcParameterDB* instance(); // *MENU*
59 
60  float xCutTpc() const; // *MENU*
61  float yCutTpc() const; // *MENU*
62  float zCutTpc() const; // *MENU*
63  float zCutTpc(float z) const;
64  unsigned int reqCommonHitsTpc() const; // *MENU*
65 
66  float xCutSvt() const; // *MENU*
67  float yCutSvt() const; // *MENU*
68  float zCutSvt() const; // *MENU*
69 
70  unsigned int reqCommonHitsSvt() const; // *MENU*
71 
72  float xCutSsd() const; // *MENU*
73  float yCutSsd() const; // *MENU*
74  float zCutSsd() const; // *MENU*
75  unsigned int reqCommonHitsSsd() const; // *MENU*
76 
77  float rCutFtpc() const; // *MENU*
78  float phiCutFtpc() const; // *MENU*
79  unsigned int reqCommonHitsFtpc() const; // *MENU*
80 
81  void setXCutTpc(float); // *MENU*
82  void setYCutTpc(float); // *MENU*
83  void setZCutTpc(float); // *MENU*
84  void setReqCommonHitsTpc(unsigned int); // *MENU*
85 
86  void setXCutSvt(float); // *MENU*
87  void setYCutSvt(float); // *MENU*
88  void setZCutSvt(float); // *MENU*
89  void setReqCommonHitsSvt(unsigned int); // *MENU*
90 
91  void setXCutSsd(float); // *MENU*
92  void setYCutSsd(float); // *MENU*
93  void setZCutSsd(float); // *MENU*
94  void setReqCommonHitsSsd(unsigned int); // *MENU*
95 
96  void setRCutFtpc(float); // *MENU*
97  void setPhiCutFtpc(float); // *MENU*
98  void setReqCommonHitsFtpc(unsigned int); // *MENU*
99 
100 private:
101  static StMcParameterDB *mParamDB;
102  StMcParameterDB();
104  StMcParameterDB& operator= (const StMcParameterDB&);
105 
106  float mXCutTpc;
107  float mYCutTpc;
108  float mZCutTpc;
109  unsigned int mReqCommonHitsTpc;
110 
111  float mXCutSvt;
112  float mYCutSvt;
113  float mZCutSvt;
114  unsigned int mReqCommonHitsSvt;
115 
116  float mXCutSsd;
117  float mYCutSsd;
118  float mZCutSsd;
119  unsigned int mReqCommonHitsSsd;
120 
121  float mRCutFtpc;
122  float mPhiCutFtpc;
123  unsigned int mReqCommonHitsFtpc;
124 
125  ClassDef(StMcParameterDB, 1)
126 
127 };
128 ostream& operator<<(ostream &, const StMcParameterDB&);
129 
130 inline float StMcParameterDB::xCutTpc() const { return mXCutTpc; }
131 
132 inline float StMcParameterDB::yCutTpc() const { return mYCutTpc; }
133 
134 inline float StMcParameterDB::zCutTpc() const { return mZCutTpc; }
135 
136 inline unsigned int StMcParameterDB::reqCommonHitsTpc() const { return mReqCommonHitsTpc; }
137 
138 inline float StMcParameterDB::xCutSvt() const { return mXCutSvt; }
139 
140 inline float StMcParameterDB::yCutSvt() const { return mYCutSvt; }
141 
142 inline float StMcParameterDB::zCutSvt() const { return mZCutSvt; }
143 
144 inline unsigned int StMcParameterDB::reqCommonHitsSvt() const { return mReqCommonHitsSvt; }
145 
146 inline float StMcParameterDB::xCutSsd() const { return mXCutSsd; }
147 
148 inline float StMcParameterDB::yCutSsd() const { return mYCutSsd; }
149 
150 inline float StMcParameterDB::zCutSsd() const { return mZCutSsd; }
151 
152 inline unsigned int StMcParameterDB::reqCommonHitsSsd() const { return mReqCommonHitsSsd; }
153 
154 inline float StMcParameterDB::rCutFtpc() const { return mRCutFtpc; }
155 
156 inline float StMcParameterDB::phiCutFtpc() const { return mPhiCutFtpc; }
157 
158 inline unsigned int StMcParameterDB::reqCommonHitsFtpc() const { return mReqCommonHitsFtpc; }
159 
160 #endif
161 
162 //
163 // StMcParameterDB::instance()->xCutTpc()
164 // or
165 // StMcParameterDB* mydb = StMcParameterDB::instance();
166 // mydb->xCutTpc();
167 //