//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Vertexing with GFRave // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Johannes Rauch TUM (original author) // // //----------------------------------------------------------- #ifndef TPCVERTEXINGTASK_HH #define TPCVERTEXINGTASK_HH // Base Class Headers ---------------- #include "FairTask.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op // Collaborating Class Declarations -- #include "GFTrack.h" class GFRaveVertexFactory; class GFRaveVertex; class TClonesArray; class PndTpcVertexingTask : public FairTask { public: // Constructors/Destructors --------- PndTpcVertexingTask(); ~PndTpcVertexingTask(); // Operators // Accessors ----------------------- // Modifiers ----------------------- void SetTrackBranchName(const TString& name) {_trackBranchName = name;} void SetVertexBranchName(const TString& name) {_vertexBranchName = name;} void SetPersistence(Bool_t opt = kTRUE) {_persistence = opt;} void SetUseVacuumPropagator(bool opt = true) {fUseVacuumPropagator = opt;} // use the rave::Vacuum propagator instead of GFRavePropagator void SetBeamspot(const TVector3 & pos, const TMatrixT & cov3x3); // also sets fUseBeamspot true void SetBeamspot(const TVector3 & pos, double err); // also sets fUseBeamspot true void SetMethod(const TString& method); // Operations ---------------------- virtual InitStatus Init(); virtual void SetParContainers(); virtual void Exec(Option_t* opt); private: // Private Data Members ------------ TString _trackBranchName; TClonesArray* _trackArray; Bool_t _persistence; TString _vertexBranchName; TClonesArray* _vertexArray; GFRaveVertexFactory* fVertexFactory; std::vector < GFRaveVertex* > * fVertexBuffer; std::vector < GFTrack* > fTrackBuffer; bool fUseVacuumPropagator; // use the rave::Vacuum propagator instead of GFRavePropagator bool fUseBeamspot; TVector3 fBeamPos; TMatrixT fBeamCov; std::string fMethod; // vertex reconstruction method // Private Methods ----------------- public: ClassDef(PndTpcVertexingTask,1) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------