//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Analysis task for lambdas // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sverre Doerheim (original author) // // //----------------------------------------------------------- #ifndef FOPI_LAMBDA_RAVE_HH #define FOPI_LAMBDA_RAVE_HH // Base Class Headers ---------------- #include "FairTask.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op #include #include // Collaborating Class Declarations -- class TClonesArray; class TLorentzVector; class GFTrack; class GFRecoHitFactory; class GFRavePropagator; class GFRaveVertexFactory; class GFRaveVertex; class TVector3; class FopiLambdaRaveVtxTask : public FairTask { public: // Constructors/Destructors --------- FopiLambdaRaveVtxTask(); virtual ~FopiLambdaRaveVtxTask(); // Operators // Accessors ----------------------- // Modifiers ----------------------- void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetTrackBranchName(const TString& name){fTrackBranchName=name;} void SetVtxOutBranchName(const TString& name){fVtxOutBranchName=name;} void SetRaveVtxOutBranchName(const TString& name){fRaveVtxOutBranchName=name;} //vertexing void SetVtxUseVacuumPropagator(bool opt = true) {fVtxUseVacuumPropagator = opt;} // use the rave::Vacuum propagator instead of GFRavePropagator void SetVtxMethod(const TString& method){ // TString to std::string std::string stdMethod(method.Data()); fVtxMethod = stdMethod; } void SetUseMCids(bool usemcID=true){fUseMCID=usemcID;} virtual InitStatus Init(); virtual void Exec(Option_t* opt); private: Int_t nEv; // Private Data Members ------------ TString fTrackBranchName; TString fVtxOutBranchName; TString fRaveVtxOutBranchName; bool fPersistence; bool fUseMCID; TClonesArray* fTrackArray; TClonesArray* fVtxOutArray; TClonesArray* fRaveVtxOutArray; GFRaveVertexFactory* fVertexFactory; std::vector < GFRaveVertex* > * fVertexBuffer; std::vector < std::vector< GFTrack* > > fVtxTrackBuffer; std::string fVtxMethod; // vertex reconstruction method bool fVtxUseVacuumPropagator; // use the rave::Vacuum propagator instead of GFRavePropagator ClassDef(FopiLambdaRaveVtxTask,1); }; #endif