ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtClusterizeTask.h
Go to the documentation of this file.
1 /*****************************************************************/
2 /* AtClusterizeTask: Simulates the ionized electrons which are */
3 /* drifted and amplified by avalanche when reaching the mesh. */
4 /* Log: Created in 24-10-2016 */
5 /* Author: Nathan Watwood (NSCL) */
6 /* ayyadlim@nscl.msu.edu */
7 /*****************************************************************/
8 #ifndef AtClusterizeTask_H
9 #define AtClusterizeTask_H
10 
11 #include <FairTask.h>
12 
13 #include <Rtypes.h>
14 #include <TClonesArray.h>
15 #include <TString.h> // for TString
16 
17 #include <memory>
18 class AtClusterize;
19 class AtDigiPar;
20 class TBuffer;
21 class TClass;
22 class TMemberInspector;
23 
24 class AtClusterizeTask : public FairTask {
25 protected:
26  Int_t fEventID{0};
27 
29 
30  // IO stuff
31  TString fMCPointName{"AtTpcPoint"};
32  TClonesArray *fMCPointArray{};
33 
34  std::unique_ptr<TClonesArray> fSimulatedPointArray{nullptr};
35  Bool_t fIsPersistent{false};
36 
37  std::shared_ptr<AtClusterize> fClusterize; //<!Cluster Task
38 
39 public:
40  AtClusterizeTask(std::shared_ptr<AtClusterize> clusterize = std::make_shared<AtClusterize>(),
41  const char *name = "AtClusterizeTask");
43 
44  void SetPersistence(Bool_t val) { fIsPersistent = val; }
45  void SetClusterizeMethod(std::shared_ptr<AtClusterize> cluster) { fClusterize = cluster; }
46 
47  virtual InitStatus Init() override;
48  virtual void Exec(Option_t *opt) override;
49  virtual void SetParContainers() override;
50 
52 };
53 
54 #endif
AtClusterizeTask::SetClusterizeMethod
void SetClusterizeMethod(std::shared_ptr< AtClusterize > cluster)
Definition: AtClusterizeTask.h:45
AtClusterizeTask::fMCPointArray
TClonesArray * fMCPointArray
Definition: AtClusterizeTask.h:32
AtClusterizeTask::Init
virtual InitStatus Init() override
Initiliazation of task at the beginning of a run.
Definition: AtClusterizeTask.cxx:55
AtClusterizeTask::Exec
virtual void Exec(Option_t *opt) override
Executed for each event.
Definition: AtClusterizeTask.cxx:74
AtClusterizeTask::fIsPersistent
Bool_t fIsPersistent
If true, save container.
Definition: AtClusterizeTask.h:35
AtClusterizeTask::fSimulatedPointArray
std::unique_ptr< TClonesArray > fSimulatedPointArray
Primary cluster array.
Definition: AtClusterizeTask.h:34
AtClusterizeTask::fEventID
Int_t fEventID
EventID.
Definition: AtClusterizeTask.h:26
AtClusterizeTask::fPar
AtDigiPar * fPar
Base parameter container.
Definition: AtClusterizeTask.h:28
hc::cluster
std::vector< size_t > cluster
Definition: hc.h:25
AtClusterizeTask::fClusterize
std::shared_ptr< AtClusterize > fClusterize
Definition: AtClusterizeTask.h:37
AtDigiPar
Definition: AtDigiPar.h:14
AtClusterizeTask::ClassDefOverride
ClassDefOverride(AtClusterizeTask, 2)
AtClusterizeTask::~AtClusterizeTask
~AtClusterizeTask()
Definition: AtClusterizeTask.cxx:39
AtClusterizeTask::AtClusterizeTask
AtClusterizeTask(std::shared_ptr< AtClusterize > clusterize=std::make_shared< AtClusterize >(), const char *name="AtClusterizeTask")
Definition: AtClusterizeTask.cxx:34
AtClusterize
Definition: AtClusterize.h:24
AtClusterizeTask::SetPersistence
void SetPersistence(Bool_t val)
Definition: AtClusterizeTask.h:44
AtClusterizeTask
Definition: AtClusterizeTask.h:24
AtClusterizeTask::fMCPointName
TString fMCPointName
Definition: AtClusterizeTask.h:31
AtClusterizeTask::SetParContainers
virtual void SetParContainers() override
Load the parameter container from the runtime database.
Definition: AtClusterizeTask.cxx:44