ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSpaceChargeCorrectionTask.h
Go to the documentation of this file.
1 /* Task for correcting SpaceCharge effects by
2  * applying some SpaceChargeModel and
3  * modifying the position values of hits in AtEvent
4  *
5  */
6 #ifndef _ATSPACECHARGECORRECTIONTASK_H_
7 #define _ATSPACECHARGECORRECTIONTASK_H_
8 
9 #include "AtSpaceChargeModel.h" // IWYU pragma: keep
10 
11 #include <FairTask.h>
12 
13 #include <Rtypes.h>
14 #include <TClonesArray.h>
15 
16 #include <memory>
17 #include <string>
18 
19 class TBuffer;
20 class TClass;
21 class TMemberInspector;
22 
23 using SCModelPtr = std::unique_ptr<AtSpaceChargeModel>;
24 
25 class AtSpaceChargeCorrectionTask : public FairTask {
26 
27 private:
28  std::string fInputBranchName = "AtEventH";
29  std::string fOuputBranchName = "AtEventCorrected";
30  Bool_t fIsPersistent = true;
31 
32  TClonesArray *fInputEventArray;
33  TClonesArray fOutputEventArray;
34  SCModelPtr fSCModel;
35 
36 public:
38  virtual ~AtSpaceChargeCorrectionTask() = default;
39 
40  void SetInputBranch(std::string branchName) { fInputBranchName = branchName; }
41  void SetOutputBranch(std::string branchName) { fOuputBranchName = branchName; }
42  void SetPersistence(Bool_t value) { fIsPersistent = value; }
43 
44  virtual InitStatus Init() override;
45  virtual void SetParContainers() override;
46  virtual void Exec(Option_t *opt) override;
47  // virtual void FinishEvent() override;
48 
50 };
51 
52 #endif //_ATSPACECHARGETASK_H_
AtSpaceChargeCorrectionTask::Init
virtual InitStatus Init() override
Definition: AtSpaceChargeCorrectionTask.cxx:31
AtSpaceChargeCorrectionTask::SetOutputBranch
void SetOutputBranch(std::string branchName)
Definition: AtSpaceChargeCorrectionTask.h:41
AtSpaceChargeCorrectionTask
Definition: AtSpaceChargeCorrectionTask.h:25
AtSpaceChargeCorrectionTask::ClassDefOverride
ClassDefOverride(AtSpaceChargeCorrectionTask, 1)
AtSpaceChargeCorrectionTask::AtSpaceChargeCorrectionTask
AtSpaceChargeCorrectionTask(SCModelPtr &&model)
Definition: AtSpaceChargeCorrectionTask.cxx:26
AtSpaceChargeCorrectionTask::Exec
virtual void Exec(Option_t *opt) override
Definition: AtSpaceChargeCorrectionTask.cxx:61
AtSpaceChargeModel.h
SCModelPtr
std::unique_ptr< AtSpaceChargeModel > SCModelPtr
Definition: AtSpaceChargeCorrectionTask.h:23
AtSpaceChargeCorrectionTask::SetInputBranch
void SetInputBranch(std::string branchName)
Definition: AtSpaceChargeCorrectionTask.h:40
AtSpaceChargeCorrectionTask::SetPersistence
void SetPersistence(Bool_t value)
Definition: AtSpaceChargeCorrectionTask.h:42
AtSpaceChargeCorrectionTask::~AtSpaceChargeCorrectionTask
virtual ~AtSpaceChargeCorrectionTask()=default
AtSpaceChargeCorrectionTask::SetParContainers
virtual void SetParContainers() override
Definition: AtSpaceChargeCorrectionTask.cxx:59