//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Tracks particles in given magnetic field // // Environment: // Software developed for the Prototype Detector at FOPI // // Author List: // Paul Buehler // //----------------------------------------------------------- #ifndef GEANETRACKERTASK_H #define GEANETRACKERTASK_H //Base class #include "FairTask.h" #include "TString.h" #include "TVector3.h" #include "FairGeanePro.h" #include "TDatabasePDG.h" #include "TParticlePDG.h" #include "FairTrackParH.h" // Collaborating Class Declarations -------------------------------------- const Double_t rad = 3.1415926/180.; class GEANEtrackerTask : public FairTask { public: // Constructor ---------------------------------------------- GEANEtrackerTask(); //default constructor ~GEANEtrackerTask(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers(); // Accessors -------------------------------------------------- TParticlePDG* GetParticle() const {return fParticle;} // Modifiers -------------------------------------------------- void SetPid(Int_t pid) { TDatabasePDG *pdg = new TDatabasePDG(); fParticle = pdg->GetParticle(pid);} void SetPid(Char_t partname[]) { TDatabasePDG *pdg = new TDatabasePDG(); fParticle = pdg->GetParticle(partname);} void SetMomentum(TVector3 mom0) {fmom0 = mom0;} void SetMomentum(Double_t theta, Double_t phi, Double_t mom) { fmom0.SetMagThetaPhi(mom,theta,phi); fprintf(stderr,"mom0: %f %f %f\n",fmom0.X(),fmom0.Y(),fmom0.Z());} void SetOrigin(TVector3 orig) {forig = orig;} void SetzRange(Float_t zmin, Float_t zmax) {fzmin=zmin;fzmax=zmax;} void SetzStep(Float_t zstep) {fzstep=zstep;} void SetMomenta(Int_t nmom, Double_t *moms){ fnmomenta = nmom; // if (fmomenta != NULL) delete(fmomenta); fmomenta = moms; } private: TParticlePDG *fParticle; TVector3 forig, forig_err; TVector3 fmom0, fmom0_err; Double_t fzmin, fzmax, fzstep; Int_t fnmomenta; Double_t *fmomenta; FairGeanePro* fPro; public: ClassDef(GEANEtrackerTask,3) }; #endif