StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMuArrays.h
1 /***************************************************************************
2  *
3  * $Id: StMuArrays.h,v 1.35 2019/02/21 13:32:54 jdb Exp $
4  * Author: Frank Laue, BNL, laue@bnl.gov
5  ***************************************************************************/
13 #ifndef StMuArrays_hh
14 #define StMuArrays_hh
15 #include "Rtypes.h"
17 //enum emcTypes {muEmc=0};
18 enum emcTypes {muEmcTow=0, muEmcPrs, muEmcSmde, muEmcSmdp, muEEmcPrs, muEEmcSmdu, muEEmcSmdv};
19 
21 enum fgtTypes {muFgtStrips=0, muFgtClusters, muFgtStripAssociations, muFgtAdcs };
22 
23 enum fmsTypes {muFmsHit=0, muFmsCluster, muFmsPoint, muFmsInfo};
24 
25 enum rhicfTypes {muRHICfRawHit=0, muRHICfHit, muRHICfPoint};
26 
27 enum fcsTypes {muFcsHit=0, muFcsCluster, muFcsPoint, muFcsInfo};
28 
29 enum fttTypes {muFttRawHit=0, muFttCluster, muFttPoint};
30 
31 enum fwdTrackTypes {muFwdTrack=0};
32 
33 enum fstTypes {muFstRawHit=0, muFstHit};
34 #ifndef __NO_STRANGE_MUDST__
35 enum strangeTypes {smuEv=0, smuEvMc, smuV0, smuV0Mc, smuV0Assoc, smuXi, smuXiMc, smuXiAssoc, smuKink, smuKinkMc, smuKinkAssoc, smuCut};
37 #endif
38 enum MCTypes {MCVertex=0, MCTrack};
41 enum muDstTypes {muEvent=0, muPrimaryVertex, muPrimary, muGlobal, muOther, muL3, muRich, muState, muAccept, muReject, muCovGlobTrack, muCovPrimTrack, mupp2pp, muMtd};
42 
44 enum pmdTypes {muPmdHit=0, muCpvHit, muPmdCluster, muCpvCluster};
45 
47 // run 5 - dongx
48 enum tofTypes {muTofHit=0, muTofData, muTofRawData};
49 
51 enum btofTypes {muBTofHit=0, muBTofRawHit, muBTofHeader};
52 
53 // jdb
54 enum etofTypes {muETofDigi=0, muETofHit, muETofHeader};
55 
56 enum mtdTypes {muMTDHit=0, muMTDRawHit, muMTDHeader};
57 
58 enum epdTypes {muEpdHit=0}; // MALisa
59 
61 enum eztTypes {muEztHead=0, muEztTrig, muEztETow, muEztESmd,muEztFpd};
62 
63 enum NARRAYS {
64 __NARRAYS__ =14,
65 #ifndef __NO_STRANGE_MUDST__
66 __NSTRANGEARRAYS__ =12,
67 #endif
68 __NMCARRAYS__ =2,
69 __NEMCARRAYS__ =7 ,
70 __NPMDARRAYS__ =4 ,
71 __NFMSARRAYS__ =4 ,
72 __NRHICFARRAYS__ =3 ,
73 __NFCSARRAYS__ =4 ,
74 __NFTTARRAYS__ =3 ,
75 __NFSTARRAYS__ =2 ,
76 __NFWDTRACKARRAYS__ =1 ,
77 // run 5 - dongx
78 __NTOFARRAYS__ =3 ,
79 __NBTOFARRAYS__ =3 ,
80 __NETOFARRAYS__ =3 ,
81 __NEPDARRAYS__ =1,
82 __NMTDARRAYS__ =3,
83 __NFGTARRAYS__ =4 ,
84 __NEZTARRAYS__ =5 ,
85 
87 #ifndef __NO_STRANGE_MUDST__
88 __NALLARRAYS__ = __NARRAYS__+__NSTRANGEARRAYS__+__NMCARRAYS__+__NEMCARRAYS__+__NFMSARRAYS__+__NRHICFARRAYS__+__NFCSARRAYS__+__NFTTARRAYS__+__NFSTARRAYS__+__NFWDTRACKARRAYS__+__NPMDARRAYS__+__NTOFARRAYS__+__NBTOFARRAYS__+__NETOFARRAYS__+__NEPDARRAYS__+__NMTDARRAYS__+__NFGTARRAYS__+__NEZTARRAYS__
89 #else
90 __NALLARRAYS__ = __NARRAYS__+__NMCARRAYS__+__NEMCARRAYS__+__NFMSARRAYS__+__NRHICFARRAYS__+__NFCSARRAYS__+__NFTTARRAYS__+__NFSTARRAYS__+__NFWDTRACKARRAYS__+__NPMDARRAYS__+__NTOFARRAYS__+__NBTOFARRAYS__+__NETOFARRAYS__+__NEPDARRAYS__+__NMTDARRAYS__+__NFGTARRAYS__+__NEZTARRAYS__
91 #endif
92 };
93 class StMuArrays {
94  public:
95  StMuArrays();
96  #ifndef __CINT__
97  static const char* arrayNames [__NALLARRAYS__ ];
99 #ifndef __NO_STRANGE_MUDST__
100  static const char** strangeArrayNames; //[__NSTRANGEARRAYS__]
101 #endif
102  static const char** mcArrayNames; //[__NMCARRAYS__]
103  static const char** emcArrayNames;//[__NEMCARRAYS__ ]
104  static const char** pmdArrayNames;//[__NPMDARRAYS__ ]
105  static const char** fmsArrayNames;//[__NFMSARRAYS__ ]
106  static const char** rhicfArrayNames;//[__NRHICFARRAYS__ ]
107  static const char** fcsArrayNames;//[__NFCSARRAYS__ ]
108  static const char** fttArrayNames;//[__NFTTARRAYS__ ]
109  static const char** fstArrayNames;//[__NFSTARRAYS__ ]
110  static const char** fwdTrackArrayNames;//[__NFWDTRACKARRAYS__ ]
111  static const char** tofArrayNames;//[__NTOFARRAYS__ ]
112  static const char** btofArrayNames;//[__NBTOFARRAYS__ ] // dongx
113  static const char** etofArrayNames;//[__NETOFARRAYS__ ] // jdb
114  static const char** epdArrayNames; //[__NEPDARRAYS__ ] // MALisa
115  static const char** mtdArrayNames;//[__NMTDARRAYS__ ]
116  static const char** fgtArrayNames;//[__NFGTARRAYS__ ]
117  static const char** eztArrayNames;//[__NEZARRAYS__ ]
118 
120  static const char* arrayTypes [__NALLARRAYS__ ];
121 #ifndef __NO_STRANGE_MUDST__
122  static const char** strangeArrayTypes;//[__NSTRANGEARRAYS__]
123 #endif
124  static const char** mcArrayTypes;//[__NMCARRAYS__]
125  static const char** emcArrayTypes;// [__NEMCARRAYS__ ]
126  static const char** pmdArrayTypes;// [__NPMDARRAYS__ ]
127  static const char** fmsArrayTypes;// [__NFMSARRAYS__ ]
128  static const char** rhicfArrayTypes;// [__NRHICFARRAYS__ ]
129  static const char** fcsArrayTypes;// [__NFCSARRAYS__ ]
130  static const char** fttArrayTypes;// [__NFTTARRAYS__ ]
131  static const char** fstArrayTypes;// [__NFSTARRAYS__ ]
132  static const char** fwdTrackArrayTypes;// [__NFWDTRACKARRAYS__ ]
133  static const char** tofArrayTypes;// [__NTOFARRAYS__ ]
134  static const char** btofArrayTypes;// [__NBTOFARRAYS__ ] // dongx
135  static const char** etofArrayTypes;// [__NETOFARRAYS__ ] // jdb
136  static const char** epdArrayTypes;// [__NEPDARRAYS__ ] // MALisa
137  static const char** mtdArrayTypes;// [__NMTDARRAYS__ ]
138  static const char** fgtArrayTypes;// [__NFGTARRAYS__ ]
139  static const char** eztArrayTypes;// [__NEZARRAYS__ ]
140 
142  static int arraySizes [__NALLARRAYS__ ];
143 #ifndef __NO_STRANGE_MUDST__
144  static int* strangeArraySizes;// [__NSTRANGEARRAYS__]
145 #endif
146  static int* mcArraySizes;// [__NMCARRAYS__]
147  static int* emcArraySizes;// [__NEMCARRAYS__ ]
148  static int* pmdArraySizes;// [__NPMDARRAYS__ ]
149  static int* fmsArraySizes;// [__NFMSARRAYS__ ]
150  static int* rhicfArraySizes;// [__NRHICfARRAYS__ ]
151  static int* fcsArraySizes;// [__NFCSARRAYS__ ]
152  static int* fttArraySizes;// [__NFTTARRAYS__ ]
153  static int* fstArraySizes;// [__NFSTARRAYS__ ]
154  static int* fwdTrackArraySizes;// [__NFWDTRACKARRAYS__ ]
155  static int* tofArraySizes;// [__NTOFARRAYS__ ]
156  static int* btofArraySizes;// [__NBTOFARRAYS__ ] // dongx
157  static int* etofArraySizes;// [__NETOFARRAYS__ ] // jdb
158  static int* epdArraySizes;// [__NEPDARRAYS__ ] // MALisa
159  static int* mtdArraySizes;// [__NMTDARRAYS__ ]
160  static int* fgtArraySizes;// [__NFGTARRAYS__ ]
161  static int* eztArraySizes;// [__NEZARRAYS__ ]
162 
164  static int arrayCounters [__NALLARRAYS__ ];
165 #ifndef __NO_STRANGE_MUDST__
166  static int*strangeArrayCounters;// [__NSTRANGEARRAYS__]
167 #endif
168  static int*mcArrayCounters;// [__NMCARRAYS__]
169  static int* emcArrayCounters;// [__NEMCARRAYS__ ]
170  static int* pmdArrayCounters;// [__NPMDARRAYS__ ]
171  static int* fmsArrayCounters;// [__NFMSARRAYS__ ]
172  static int* rhicfArrayCounters;// [__NRHICFARRAYS__ ]
173  static int* fcsArrayCounters;// [__NFCSARRAYS__ ]
174  static int* fttArrayCounters;// [__NFTTARRAYS__ ]
175  static int* fstArrayCounters;// [__NFSTARRAYS__ ]
176  static int* fwdTrackArrayCounters;// [__NFWDTRACKARRAYS__ ]
177  static int* tofArrayCounters;// [__NTOFARRAYS__ ]
178  static int* btofArrayCounters;// [__NBTOFARRAYS__ ] // dongx
179  static int* etofArrayCounters;// [__NETOFARRAYS__ ] // jdb
180  static int* epdArrayCounters;// [__NEPDARRAYS__ ] // MALisa
181  static int* mtdArrayCounters;// [__NEZARRAYS__ ]
182  static int* fgtArrayCounters;// [__NFGTARRAYS__ ]
183  static int* eztArrayCounters;// [__NEZARRAYS__ ]
184 #endif
185  ClassDef(StMuArrays,0)
186 };
187 
188 #endif
189 
190 /***************************************************************************
191  *
192  * $Log: StMuArrays.h,v $
193  * Revision 1.35 2019/02/21 13:32:54 jdb
194  * Inclusion of ETOF MuDst code. This code adds support for the full set of ETOF data which includes EtofDigi, EtofHit, EtofHeader. The code essentially copies similar structures from StEvent and additionally rebuilds the maps between Digis and Hits. Accessor methods are added based on the pattern from BTOF to provide access to data at various levels. The code for accessing the PID traits provided by ETOF is also provided
195  *
196  * Revision 1.34 2018/02/27 04:11:17 jdb
197  * Added EPD types
198  *
199  * Revision 1.33 2015/11/06 17:47:16 jdb
200  * Added StMuFmsInfo.{h,cxx} as a new branch for storing event-by-event FMS paramters
201  *
202  * Revision 1.32 2015/08/28 18:36:03 jdb
203  * Added Akios FMS codes
204  *
205  * Revision 1.31 2013/07/23 11:02:59 jeromel
206  * Undo changes (KF and other)
207  *
208  * Revision 1.29 2013/04/10 19:28:35 jeromel
209  * Step back to 04/04 version (van aware) - previous changes may be recoverred
210  *
211  * Revision 1.27 2013/01/08 22:57:33 sangalin
212  * Merged in FGT changes allowing for a variable number of timebins to be read out for each strip.
213  *
214  * Revision 1.26 2012/11/15 22:26:13 sangalin
215  * Added the FGT. Fixed bugs in array offsets for the MTD.
216  *
217  * Revision 1.25 2012/09/28 22:38:05 tone421
218  * Changed array stucture of MTD upon request of the TOF group. MTD arrays now on top level, rather than within __NARRAYS__
219  *
220  * Revision 1.23 2011/10/17 00:19:13 fisyak
221  * Active handing of IdTruth
222  *
223  * Revision 1.22 2011/05/04 19:51:32 tone421
224  * Added MTD infomation
225  *
226  * Revision 1.21 2011/04/08 01:25:50 fisyak
227  * Add branches for MC track and vertex information, add IdTruth to tracks and vertices, reserve a possiblity to remove Strange MuDst
228  *
229  * Revision 1.20 2010/05/26 04:25:50 tone421
230  * Added StTriggerData arrays in muevent and fixed an issue with PMD arrays being read....
231  *
232  * Revision 1.19 2010/01/25 03:57:39 tone421
233  * Added FMS and Roman pot arrays
234  *
235  * Revision 1.18 2009/02/20 16:37:44 tone421
236  * *** empty log message ***
237  *
238  * Revision 1.16 2008/03/19 14:51:03 fisyak
239  * Add two clone arrays for global and primary track covariance matrices, remove mSigmaDcaD and mSigmaDcaZ
240  *
241  * Revision 1.15 2005/07/15 21:45:08 mvl
242  * Added support for multiple primary vertices (StMuPrimaryVertex). Track Dcas are now calculated with repect to the first vertex in the list (highest rank), but another vertex number can be specified. Tarcks also store the index of the vertex they belong to (StMuTrack::vertexIndex())
243  *
244  * Revision 1.14 2005/04/12 21:56:29 mvl
245  * Changes by Xin Dong for year-5 TOF data format: extra TClonesArray and routines to fill it from StEvent (StTofRawData).
246  *
247  * Revision 1.13 2004/11/29 15:53:22 mvl
248  * Additions by Jan for Fpd ezTree
249  *
250  * Revision 1.12 2004/10/28 00:11:33 mvl
251  * Added stuff to support ezTree mode of MuDstMaker.
252  * This is a special mode for fast-online processing of fast-detector data.
253  *
254  * Revision 1.11 2004/10/19 01:43:05 mvl
255  * Changes for splitting Emc and Pmd collections
256  *
257  * Revision 1.10 2004/07/27 02:35:23 mvl
258  * Added access methods for Strangeness Monte-Carlo arrays
259  *
260  * Revision 1.9 2004/05/04 00:10:28 perev
261  * Cleanup
262  *
263  * Revision 1.8 2004/04/26 00:13:28 perev
264  * Cleanup+simplification
265  *
266  * Revision 1.7 2004/04/09 22:06:35 subhasis
267  * after tof createevent fix by Xin
268  *
269  * Revision 1.6 2004/04/09 03:36:14 jeromel
270  * Removed TOF support entirely for now as we need a working version ... Will
271  * revisit later.
272  *
273  * Revision 1.5 2004/04/02 03:24:53 jeromel
274  * Changes implements PMD and TOF. TOF is clearly incomplete.
275  *
276  * Revision 1.4 2003/01/09 18:59:45 laue
277  * initial check in of new EMC classes and the changes required
278  *
279  * Revision 1.3 2002/05/20 17:23:31 laue
280  * StStrangeCuts added
281  *
282  * Revision 1.2 2002/05/04 23:56:29 laue
283  * some documentation added
284  *
285  * Revision 1.1 2002/03/08 17:04:17 laue
286  * initial revision
287  *
288  *
289  **************************************************************************/
StMuArrays()
names of the TBranches in the TTree/File
Definition: StMuArrays.cxx:213
static const char * arrayTypes[__NALLARRAYS__]
< names of the classes, the TClonesArrays are arrays of this type
Definition: StMuArrays.h:120
static int arrayCounters[__NALLARRAYS__]
< number of entries in current event, currently not used
Definition: StMuArrays.h:164
static int arraySizes[__NALLARRAYS__]
< maximum sizes of the TClonesArrays
Definition: StMuArrays.h:142