EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbmMCMatchSelectorTask.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CbmMCMatchSelectorTask.h
1 // -------------------------------------------------------------------------
2 // ----- PNDMCMATCHSELECTORTASK header file -----
3 // ----- Created 18/01/10 by T.Stockmanns -----
4 // -------------------------------------------------------------------------
5 
6 
14 #ifndef CBMMCMATCHSELECTORTASK_H
15 #define CBMMCMATCHSELECTORTASK_H
16 
17 
18 // framework includes
19 #include "FairTask.h"
20 //#include "CbmMCMatch.h"
21 #include "CbmDetectorList.h"
22 
23 
24 #include <vector>
25 #include <list>
26 
27 class CbmMCMatch;
28 class TClonesArray;
29 
31 {
32  public:
33 
36 
38 
40  virtual ~CbmMCMatchSelectorTask();
41 
42 
44  virtual void SetParContainers();
45  virtual InitStatus Init();
46 
47 
49  virtual void Exec(Option_t* opt);
50 
51  virtual void Finish();
52 
53  virtual void SetStart(DataType type){fStart = type;}
54  virtual void SetStop(DataType type){fStop = type;}
55 
56  virtual void SetAllWeights(Float_t weight) {fCommonWeight = weight;}
57  virtual void SetWeightStage(Int_t type, Float_t weight){
58  fStageWeights.push_back(std::pair<DataType, Float_t>(static_cast<DataType>(type), weight));
59  }
60 
61  virtual void SetWeights();
62 
63 
64 
65  private:
69 
70  std::vector<std::pair<DataType, Float_t> > fStageWeights;
71  Float_t fCommonWeight;
72 
73  void Register();
74 
75  void Reset();
76 
77  void ProduceHits();
78 
81 
83 
84 };
85 
86 #endif