Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BFLHandler.h

Go to the documentation of this file.
00001 #ifndef BFLHANDLER_H
00002 #define BFLHANDLER_H
00003 
00004 #include "TVector3.h" 
00005 #include "BField/BFLInterpolation.h"
00006 
00007 const Int_t kNear = 0;
00008 const Int_t kFar = 1;
00009 const Int_t kCN = 0;
00010 const Int_t kNN = 1;
00011 const Int_t kBL = 2;
00012 
00013 class BFLInterpolation;
00014 class BFLWingedEdge;
00015 class BFLCache;
00016 
00017 class BFLHandler : public TObject
00018 {
00019 public: 
00020         BFLHandler(Int_t detector);
00021         BFLHandler(Char_t VoronoiFile[], Char_t MeshFile[], 
00022                    Char_t BFieldFile[]); 
00023         ~BFLHandler();
00024         
00025         TVector3 GetBField(const TVector3& GlobalPosVector, 
00026                            const Bool_t updateSeedPolygon = kFALSE);
00027 
00028         virtual BFLCache * GetCache(void) { return fInt->GetCache(); } 
00029         virtual void SetCache(BFLCache * cache) { fInt->SetCache(cache); }
00030         virtual void SetVoronoi(BFLWingedEdge * vor) { fVor = vor; }
00031         virtual void SetBField(TObjArray * bfield) { fBField = bfield; }
00032         virtual void SetInterpolant(BfldInterpMethod::InterpMethod_t interp) {
00033             fInt->SetInterpolant(interp);
00034         }
00035         virtual void SetLastPolygAsSeed(void) {
00036            fInt->SetSearchSeed(fInt->GetLastPolygon());
00037         }
00038 private:
00039         Int_t LoadBField(Char_t GeomFile[]);
00040         BFLInterpolation * fInt; 
00041         BFLWingedEdge    * fVor;
00042         TObjArray        * fBField;
00043         
00044         ClassDef(BFLHandler, 0)     // The BField package control class
00045 };
00046 
00047 #endif

Generated on Mon Feb 15 11:06:25 2010 for loon by  doxygen 1.3.9.1