MpdMCStack.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. // -------------------------------------------------------------------------
  2. // ----- MpdMCStack header file -----
  3. // ----- Created 09/10/08 by M. Al-Turany -----
  4. // -------------------------------------------------------------------------
  5. #ifndef MPDMCSTACK_H
  6. #define MPDMCSTACK_H
  7. #include "FairTask.h"
  8. #include "FairGeanePro.h"
  9. #include "MpdEventManager.h"
  10. #include "FairTrajFilter.h"
  11. #include "TEveTrackPropagator.h"
  12. #include "TString.h"
  13. #include "TObjArray.h"
  14. #include "TEveTrack.h"
  15. #include "TGeant3.h"
  16. class MpdMCStack : public FairTask
  17. {
  18. public:
  19. /** Default constructor **/
  20. MpdMCStack();
  21. /** Standard constructor
  22. *@param name Name of task
  23. *@param iVerbose Verbosity level
  24. **/
  25. MpdMCStack(const char* name, Int_t iVerbose = 0);
  26. /** Destructor **/
  27. virtual ~MpdMCStack();
  28. /** Set verbosity level. For this task and all of the subtasks. **/
  29. void SetVerbose(Int_t iVerbose);
  30. /** Executed task **/
  31. virtual void Exec(Option_t* option);
  32. virtual InitStatus Init();
  33. virtual void SetParContainers();
  34. /** Action after each event**/
  35. virtual void Finish();
  36. void Reset();
  37. TEveTrackList* GetTrGroup(TParticle* P);
  38. protected:
  39. MpdEventManager* fEventManager; //!
  40. TClonesArray* fTrackList; //!
  41. TObjArray* fEveTrList;
  42. TEveTrackPropagator* fTrPr;
  43. TEveTrackList* fTrList; //!
  44. Float_t x1[3], x2[3], p1[3], p2[3], ein[15];
  45. TGeant3* gMC3; //!
  46. Double_t MinEnergyLimit, MaxEnergyLimit;
  47. Double_t PEnergy;
  48. FairGeanePro* fPro; //!
  49. FairTrajFilter* fTrajFilter; //!
  50. ClassDef(MpdMCStack,1);
  51. };
  52. #endif