/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkExtAlg/TrkExtAlg-00-00-64/TrkExtAlg/Ext_track.h

Go to the documentation of this file.
00001 // 
00002 // File: Ext_track.h
00003 //
00004 // Description: Ext_track class.
00005 // 
00006 // Author: L.L.Wang
00007 // 
00008 // Creation: 2005.3.7
00009 // Version: v1
00010 //
00011 // $Id: Ext_track.h,v 1.11 2015/07/29 00:28:14 sunss Exp $
00012 //
00013 // Revision history
00014 // 
00015 // 
00016 
00017 #ifndef _EXT_TRACK_FLAG_
00018 #define _EXT_TRACK_FLAG_
00019 
00020 //class  Hep3Vector;
00021 
00022 #include        <string>
00023 
00024 #include        "TrkExtAlg/Ext_xp_err.h"
00025 
00026 #include        "G4VUserPhysicsList.hh"
00027 #include        "G4VUserDetectorConstruction.hh"  
00028 #include        "G4VPhysicalVolume.hh"
00029 #include        "G4Track.hh"
00030 #include        "G4TrackingManager.hh"
00031 
00032 #include        "TrkExtAlg/ExtSteppingAction.h"
00033 
00038 class G4RunManagerKernel;
00039 
00040 class Ext_track {
00041 
00042 public:
00043 
00044   // Default constructor.
00045   Ext_track();
00046   Ext_track(const bool msgFlag, const bool myBFieldOn, const bool GeomOptimization,const int m_detVer,const bool UseMucKal,const int MucWindow);
00047 
00048   // Destructor.
00049   ~Ext_track();
00050 
00051 // Public member functins.
00052 
00053   //Initialization of the object. par -- Options.
00054   void Initialization( const bool aMsgFlag,const bool Bfield,const bool GeomOptimization,const bool aUseMucKal,const int aMucWindow);
00055 
00058 //  bool Set_errskip_list( const char* errskip_list );
00059 
00061 //  void Prn_errskip_list() const;
00062 
00063   // Set the starting point of the track extrapolation.
00064      //   xv3 -- Starting position(x,y,z)
00065      //   pv3 -- Starting momentum(px,py,pz)
00066      //   err -- Starting error matrix(x,y,z,px,py,pz)
00067      //   particleName - Assumed particle's name
00068      // 
00069   bool Set( const Hep3Vector &xv3, const Hep3Vector &pv3, const HepSymMatrix &err, 
00070            const std::string &particleName, const double pathInMDC, const double tofInMdc );
00071 
00072   //Perform the actual extrapolation and write the result of the extrapolation to TDS.
00073   void TrackExtrapotation();
00074 
00075    
00078 //  void End();
00079 
00088   inline void Dir( const int dir );
00089 
00090   inline ExtSteppingAction *GetStepAction() {return extSteppingAction;};
00091    
00092    
00093 private:
00094   // Geometry Initialization
00095   bool GeometryInitialization();
00096 
00097   // Physics Initialization   
00098   bool PhysicsInitialization();
00099 
00100   // CheckRegions
00101   void CheckRegions();
00102   
00103   // Check Vertex is Inside the setup 
00104   bool CheckVertexInsideWorld(const Hep3Vector& pos);
00105    
00106  // Commonly used data in member functions.
00107 
00108   Ext_xp_err    m_xp_err;
00109 
00110   bool          myMsgFlag;
00111   bool          myGeomOptimization;
00112   bool          myBFieldOn;
00113   int           m_detVer;
00114   bool          myUseMucKal;
00115   int           myMucWindow;
00116   float         m_vect[7];
00117   int           m_dir;
00118 
00119   // Error calculation skip data.
00120 
00121  // Ext_list    m_errskip_list;
00122  // bool                m_errskip_flag;
00123  // int         m_errskip_level;
00124  // int         m_errskip_iname;
00125 
00126   // Bes3DetectorConstruction 
00127   G4VUserDetectorConstruction* bes3DetectorConstruction;
00128   G4VPhysicalVolume* bes3WorldVolume;
00129    
00130   // ExtPhysicsList
00131   G4VUserPhysicsList* extPhysicsList;   
00132 
00133   //G4Track
00134   G4Track* extTrack; 
00135 
00136   // ExtSteppingAction
00137   ExtSteppingAction* extSteppingAction;
00138 
00139   //Tracking Manager
00140   G4TrackingManager* extTrackingManager;
00141 
00142   //RunManagerKernel for geant4.9.0
00143   G4RunManagerKernel *extRunManagerKernel;
00144 };
00145 
00146 
00147 
00148 /*
00149   Inline function.
00150 */
00151 
00152 // Modifiers.
00153 
00154 inline void Ext_track::Dir( const int dir ){ m_dir = dir; }
00155 
00156 #endif  /* _EXT_TRACK_FLAG_ */

Generated on Tue Nov 29 23:14:12 2016 for BOSS_7.0.2 by  doxygen 1.4.7