Main Page | Class List | File List | Class Members | Related Pages

EEmcTTDisplay.h

00001 // Hey Emacs this is -*-c++-*-
00002 // $Id: EEmcTTDisplay.h,v 1.11 2004/05/06 16:02:49 zolnie Exp $
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 // $Log: EEmcTTDisplay.h,v $
00149 // Revision 1.11  2004/05/06 16:02:49  zolnie
00150 // more docs
00151 //
00152 // Revision 1.10  2004/05/05 21:37:37  zolnie
00153 // ver 2.0 released
00154 //
00155 // Revision 1.9  2004/05/04 18:28:55  zolnie
00156 // version after split
00157 //
00158 // Revision 1.8  2004/04/14 16:40:34  zolnie
00159 // *** empty log message ***
00160 //
00161 // Revision 1.7  2004/04/13 14:53:38  zolnie
00162 // *** empty log message ***
00163 //
00164 // Revision 1.6  2004/01/27 20:38:41  zolnie
00165 // more docs
00166 //
00167 // Revision 1.5  2004/01/27 16:26:14  zolnie
00168 // polished doxygen documentation
00169 //
00170 // Revision 1.4  2004/01/26 22:54:15  zolnie
00171 // after name cleanup
00172 //
00173 // Revision 1.3  2004/01/26 21:51:53  zolnie
00174 // shorter names
00175 //
00176 // Revision 1.2  2004/01/26 21:08:31  zolnie
00177 // working track/tower display (before big farewell cleanup)
00178 //
00179 // Revision 1.1  2004/01/19 22:07:50  zolnie
00180 // toward track/tower display
00181 //
00182 

Generated on Thu Jun 3 17:02:37 2004 for Tower to Track Match Maker by doxygen 1.3.5