StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMcContainers.hh
1 /***************************************************************************
2  *
3  * $Id: StMcContainers.hh,v 2.17 2013/03/25 23:25:35 perev Exp $
4  *
5  * Author: Manuel Calderon de la Barca Sanchez, Oct 1999
6  ***************************************************************************
7  *
8  * Description: Containers for StMcEvent objects
9  *
10  ***************************************************************************
11  *
12  * $Log: StMcContainers.hh,v $
13  * Revision 2.17 2013/03/25 23:25:35 perev
14  * Mustafa.Pxl corrs
15  *
16  * Revision 2.16 2012/03/22 00:32:17 perev
17  * Etr hit added
18  *
19  * Revision 2.15 2011/10/11 01:09:39 perev
20  * Mtd added
21  *
22  * Revision 2.14 2009/07/24 19:08:06 perev
23  * Cleanup + Btof added (Geurts)
24  *
25  * Revision 2.13 2007/10/16 19:49:13 fisyak
26  * rename Hft => Pxl, remove Hpd, Igt and Fst
27  *
28  * Revision 2.12 2006/09/25 14:20:43 fisyak
29  * Add Hpd Hits
30  *
31  * Revision 2.11 2005/09/28 21:30:14 fisyak
32  * Persistent StMcEvent
33  *
34  * Revision 2.10 2005/07/07 18:20:48 calderon
35  * Added support for IGT detector.
36  *
37  * Revision 2.9 2005/04/18 20:11:32 calderon
38  * Addition of Fgt and Fst files. Modified other files to accomodate changes.
39  *
40  * Revision 2.8 2004/09/14 05:00:29 calderon
41  * Added support for Ist, Ssd and changes to Pixel, from "El Kai".
42  *
43  * Revision 2.7 2003/08/20 18:50:21 calderon
44  * Addition of Tof classes and Pixel classes. Modified track, event, and
45  * container code to reflect this.
46  * Fix bug in StMcVertex and in clearing of some hit collections.
47  *
48  * Revision 2.6 2003/02/19 03:16:05 calderon
49  * Introduction of Ctb Hit Class and Ctb Hit Collection class, modified
50  * StMcTrack, and StMcEvent accordingly. Clearing of hits in StMcSvtWaferHitCollection.
51  *
52  * Revision 2.6 2003/02/18 00:00:00 gans
53  * Introduction of the CTB classes. Modified several classes
54  * accordingly.
55  *
56  * $Log: StMcContainers.hh,v $
57  * Revision 2.17 2013/03/25 23:25:35 perev
58  * Mustafa.Pxl corrs
59  *
60  * Revision 2.16 2012/03/22 00:32:17 perev
61  * Etr hit added
62  *
63  * Revision 2.15 2011/10/11 01:09:39 perev
64  * Mtd added
65  *
66  * Revision 2.14 2009/07/24 19:08:06 perev
67  * Cleanup + Btof added (Geurts)
68  *
69  * Revision 2.13 2007/10/16 19:49:13 fisyak
70  * rename Hft => Pxl, remove Hpd, Igt and Fst
71  *
72  * Revision 2.12 2006/09/25 14:20:43 fisyak
73  * Add Hpd Hits
74  *
75  * Revision 2.11 2005/09/28 21:30:14 fisyak
76  * Persistent StMcEvent
77  *
78  * Revision 2.10 2005/07/07 18:20:48 calderon
79  * Added support for IGT detector.
80  *
81  * Revision 2.9 2005/04/18 20:11:32 calderon
82  * Addition of Fgt and Fst files. Modified other files to accomodate changes.
83  *
84  * Revision 2.8 2004/09/14 05:00:29 calderon
85  * Added support for Ist, Ssd and changes to Pixel, from "El Kai".
86  *
87  * Revision 2.7 2003/08/20 18:50:21 calderon
88  * Addition of Tof classes and Pixel classes. Modified track, event, and
89  * container code to reflect this.
90  * Fix bug in StMcVertex and in clearing of some hit collections.
91  *
92  * Revision 2.6 2003/02/19 03:16:05 calderon
93  * Introduction of Ctb Hit Class and Ctb Hit Collection class, modified
94  * StMcTrack, and StMcEvent accordingly. Clearing of hits in StMcSvtWaferHitCollection.
95  *
96  * Revision 2.5 2000/06/06 02:58:40 calderon
97  * Introduction of Calorimeter classes. Modified several classes
98  * accordingly.
99  *
100  * Revision 2.4 2000/03/06 18:05:21 calderon
101  * 1) Modified SVT Hits storage scheme from layer-ladder-wafer to
102  * barrel-ladder-wafer.
103  * 2) Added Rich Hit class and collection, and links to them in other
104  * classes.
105  *
106  * Revision 2.3 2000/01/18 20:52:31 calderon
107  * Works with CC5
108  *
109  * Revision 2.2 1999/12/14 07:04:49 calderon
110  * Numbering scheme as per SVT request.
111  *
112  * Revision 2.1 1999/11/19 19:06:31 calderon
113  * Recommit after redoing the files.
114  *
115  * Revision 2.0 1999/11/17 02:00:58 calderon
116  * Completely revised for new StEvent
117  *
118  **************************************************************************/
119 #ifndef StMcContainers_hh
120 #define StMcContainers_hh
121 
122 #include <vector>
123 
124 #ifndef ST_NO_NAMESPACES
125 using std::vector;
126 #endif
127 
128 
129 class StMcHit;
130 class StMcCalorimeterHit;
131 class StMcVertex;
132 class StMcSvtHit;
133 class StMcSsdHit;
134 class StMcTpcHit;
135 class StMcFtpcHit;
136 class StMcRichHit;
137 class StMcCtbHit;
138 class StMcPxlHit;
139 class StMcIstHit;
140 class StMcFgtHit;
141 class StMcEtrHit;
142 class StMcTofHit;
143 class StMcBTofHit;
144 class StMcMtdHit;
145 class StMcTrack;
146 
147 // Owners
148 typedef vector<StMcHit*> StSPtrVecMcHit;
149 typedef vector<StMcVertex*> StSPtrVecMcVertex;
150 typedef vector<StMcCalorimeterHit*> StSPtrVecMcCalorimeterHit;
151 typedef vector<StMcSvtHit*> StSPtrVecMcSvtHit;
152 typedef vector<StMcSsdHit*> StSPtrVecMcSsdHit;
153 typedef vector<StMcTpcHit*> StSPtrVecMcTpcHit;
154 typedef vector<StMcFtpcHit*> StSPtrVecMcFtpcHit;
155 typedef vector<StMcRichHit*> StSPtrVecMcRichHit;
156 typedef vector<StMcCtbHit*> StSPtrVecMcCtbHit;
157 typedef vector<StMcPxlHit*> StSPtrVecMcPxlHit;
158 typedef vector<StMcIstHit*> StSPtrVecMcIstHit;
159 typedef vector<StMcFgtHit*> StSPtrVecMcFgtHit;
160 typedef vector<StMcEtrHit*> StSPtrVecMcEtrHit;
161 typedef vector<StMcTofHit*> StSPtrVecMcTofHit;
162 typedef vector<StMcBTofHit*> StSPtrVecMcBTofHit;
163 typedef vector<StMcMtdHit*> StSPtrVecMcMtdHit;
164 typedef vector<StMcTrack*> StSPtrVecMcTrack;
165 // Not owners
166 typedef vector<StMcVertex*> StPtrVecMcVertex;
167 typedef vector<StMcCalorimeterHit*> StPtrVecMcCalorimeterHit;
168 typedef vector<StMcHit*> StPtrVecMcHit;
169 typedef vector<StMcSvtHit*> StPtrVecMcSvtHit;
170 typedef vector<StMcSsdHit*> StPtrVecMcSsdHit;
171 typedef vector<StMcTpcHit*> StPtrVecMcTpcHit;
172 typedef vector<StMcFtpcHit*> StPtrVecMcFtpcHit;
173 typedef vector<StMcRichHit*> StPtrVecMcRichHit;
174 typedef vector<StMcCtbHit*> StPtrVecMcCtbHit;
175 typedef vector<StMcPxlHit*> StPtrVecMcPxlHit;
176 typedef vector<StMcIstHit*> StPtrVecMcIstHit;
177 typedef vector<StMcFgtHit*> StPtrVecMcFgtHit;
178 typedef vector<StMcEtrHit*> StPtrVecMcEtrHit;
179 typedef vector<StMcTofHit*> StPtrVecMcTofHit;
180 typedef vector<StMcBTofHit*> StPtrVecMcBTofHit;
181 typedef vector<StMcMtdHit*> StPtrVecMcMtdHit;
182 typedef vector<StMcTrack*> StPtrVecMcTrack;
183 //Iterators
184 typedef StPtrVecMcVertex::iterator StMcVertexIterator;
185 typedef StPtrVecMcCalorimeterHit::iterator StMcCalorimeterHitIterator;
186 typedef StPtrVecMcHit::iterator StMcHitIterator;
187 typedef StPtrVecMcSvtHit::iterator StMcSvtHitIterator;
188 typedef StPtrVecMcSsdHit::iterator StMcSsdHitIterator;
189 typedef StPtrVecMcTpcHit::iterator StMcTpcHitIterator;
190 typedef StPtrVecMcFtpcHit::iterator StMcFtpcHitIterator;
191 typedef StPtrVecMcRichHit::iterator StMcRichHitIterator;
192 typedef StPtrVecMcCtbHit::iterator StMcCtbHitIterator;
193 typedef StPtrVecMcPxlHit::iterator StMcPxlHitIterator;
194 typedef StPtrVecMcIstHit::iterator StMcIstHitIterator;
195 typedef StPtrVecMcFgtHit::iterator StMcFgtHitIterator;
196 typedef StPtrVecMcEtrHit::iterator StMcEtrHitIterator;
197 typedef StPtrVecMcTofHit::iterator StMcTofHitIterator;
198 typedef StPtrVecMcBTofHit::iterator StMcBTofHitIterator;
199 typedef StPtrVecMcMtdHit::iterator StMcMtdHitIterator;
200 typedef StPtrVecMcTrack::iterator StMcTrackIterator;
201 //Const Iterators
202 typedef StPtrVecMcVertex::const_iterator StMcVertexConstIterator;
203 typedef StPtrVecMcCalorimeterHit::const_iterator StMcCalorimeterHitConstIterator;
204 typedef StPtrVecMcHit::const_iterator StMcSvtConstIterator;
205 typedef StPtrVecMcSvtHit::const_iterator StMcSvtHitConstIterator;
206 typedef StPtrVecMcSsdHit::const_iterator StMcSsdHitConstIterator;
207 typedef StPtrVecMcTpcHit::const_iterator StMcTpcHitConstIterator;
208 typedef StPtrVecMcFtpcHit::const_iterator StMcFtpcHitConstIterator;
209 typedef StPtrVecMcRichHit::const_iterator StMcRichHitConstIterator;
210 typedef StPtrVecMcCtbHit::const_iterator StMcCtbHitConstIterator;
211 typedef StPtrVecMcPxlHit::const_iterator StMcPxlHitConstIterator;
212 typedef StPtrVecMcIstHit::const_iterator StMcIstHitConstIterator;
213 typedef StPtrVecMcFgtHit::const_iterator StMcFgtHitConstIterator;
214 typedef StPtrVecMcEtrHit::const_iterator StMcEtrHitConstIterator;
215 typedef StPtrVecMcTofHit::const_iterator StMcTofHitConstIterator;
216 typedef StPtrVecMcBTofHit::const_iterator StMcBTofHitConstIterator;
217 typedef StPtrVecMcMtdHit::const_iterator StMcMtdHitConstIterator;
218 typedef StPtrVecMcTrack::const_iterator StMcTrackConstIterator;
219 // ClassDef(StMcContainers,0)
220 #endif //StMcContainers
Monte Carlo Track class All information on a simulated track is stored in this class: kinematics...
Definition: StMcTrack.hh:144