00001
00002
00003 #ifndef STAR_EEmcTTDisplay
00004 #define STAR_EEmcTTDisplay
00005
00006 #include "StEEmcUtil/EEmcGeom/EEmcGeomSimple.h"
00007 class TString;
00008 class TGeoVolume;
00009 class TGeoMatrix;
00010 class TList;
00011
00012 class StMuTrack;
00013 class EEmcTower;
00014 class EEmcTTMatch;
00015
00016 class EEmcTTDisplay : public EEmcGeomSimple {
00017 public:
00020 EEmcTTDisplay(const char *name="eemc");
00021
00023 ~EEmcTTDisplay();
00024
00026 TGeoVolume* operator() () { return mEEmc; };
00028 TGeoVolume* GetVolume() { return mEEmc; };
00029
00030
00031
00035 Bool_t AddTower(const char *tile);
00036
00042 Bool_t AddTower(int sec, int sub, int eta)
00043 {
00044 return AddTower(volumeName(sec,sub,eta));
00045 }
00046
00050 Bool_t AddTower(const EEmcTower& tower) ;
00051
00063 Bool_t AddTrack(Double_t x, Double_t y, Double_t z,
00064 Double_t px, Double_t py, Double_t pz,
00065 Double_t qB, Double_t zMin=0.0, Double_t zMax=0.0);
00066
00070 Bool_t AddTrack(const StMuTrack& track);
00071
00072
00076 Bool_t AddMatch(EEmcTTMatch& tmatch);
00077
00080 void Draw ( const Option_t* option = "");
00081
00084 void Clear( const Option_t* option = "");
00085
00086
00090 void Out(ostream &out, EEmcTTMatch &tmatch);
00091
00095 void Out(TString &out, EEmcTTMatch &tmatch);
00096
00097
00098
00101 void SetMagneticField(double B) { mBField = B; }
00103 double GetMagneticField() { return mBField; }
00104
00109 void SetShowExtrapolatedTracks(bool f) { mShowExtrapolatedTracks = f; }
00114 bool GetShowExtrapolatedTracks() { return mShowExtrapolatedTracks; }
00115
00116
00117 private:
00120 void initGeometry(const char *topName);
00121
00127 char *volumeName(int sec, int sub=-1, int eta=-1);
00131 char *volumeName(const EEmcTower& tower);
00132
00133 TGeoVolume* mEEmc;
00134 TList *mTowerHits;
00135 TList *mTrackHits;
00136 double mBField ;
00137 bool mShowExtrapolatedTracks;
00139 public:
00140 ClassDef(EEmcTTDisplay, 1)
00141 };
00142
00143
00144 #endif
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182