00001 #ifndef TRG_VERSION
00002 #define TRG_VERSION 0x32
00003 #endif
00004
00005 #include <daqFormats.h>
00006 #include "gl3Event.h"
00007 #include "l3Coordinates.h"
00008 #include "l3EmcCalibration.h"
00009 #include "gl3LMVertexFinder.h"
00010 #include "FtfSl3.h"
00011 #include "sizes.h"
00012 #include "DAQ_L3/daq_l3.h"
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 class EventTracker {
00031 public:
00032
00033
00034 EventTracker()
00035 {
00036 bField = 1000;
00037 constructor_helper();
00038 }
00039
00040 EventTracker(float magField)
00041 {
00042 bField = magField;
00043 constructor_helper();
00044 };
00045
00046 void constructor_helper()
00047 {
00048 defaultBField = .5;
00049 transformer = new l3CoordinateTransformer();
00050
00051
00052 lmv = new gl3LMVertexFinder();
00053
00054
00055
00056
00057
00058
00059 lmv->setParameters(10, 3, 250.0, 10.0, 3.0, 3.0);
00060
00061
00062
00063 gl3 = new gl3Event(transformer,
00064 NULL,
00065 NULL);
00066
00067 gl3->setLMVertexFinder(lmv);
00068 gl3->setVertexFinderMethod(3);
00069
00070
00071 }
00072
00073 void setDefaultBField(float def)
00074 {
00075 defaultBField = def;
00076 }
00077
00078 ~EventTracker()
00079 {
00080
00081 delete gl3;
00082 delete lmv;
00083
00084
00085 delete transformer;
00086 }
00087
00088
00089
00090
00091
00092
00093
00094 #ifdef OLD_DAQ_READER
00095 int trackEvent(evpReader *evp, char *mem, L3_P *l3p, int max_size);
00096 int trackTPC(evpReader *evp, char *mem, L3_GTD *gtd, int max_size);
00097 #else
00098 int trackEvent(daqReader *daq, char *mem, L3_P *l3p, int max_size);
00099 int trackTPC(daqReader *daq, char *mem, L3_GTD *gtd, int max_size);
00100 #endif
00101
00102 #ifdef OBSOLETE
00103 int trackEvent(DATAP *datap, L3_P *l3p, int max_size);
00104 int trackTPC(DATAP *datap, L3_GTD *gtd, int max_size);
00105 #endif
00106
00107 void dumpGTD(L3_GTD *gtd);
00108 gl3Event *getL3Event() const { return gl3;}
00109
00110 int copyl3_t(l3_t &l3, L3_P *l3p);
00111
00112 private:
00113
00114
00115 int gl3Event_to_GTD(L3_GTD *gtd, u_int max_size);
00116
00117
00118
00119 l3CoordinateTransformer *transformer;
00120
00121 float bField;
00122
00123 float defaultBField;
00124 int bFieldOverride;
00125
00126
00127
00128 gl3LMVertexFinder *lmv;
00129 gl3Event *gl3;
00130
00131 };