Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
SmearAlgorithm.h
1/*
2 * SmothAlgorithm.h
3 *
4 * Created on: 8 gru 2015
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALSMOTHALGORITHM_H_
10#define HALSMOTHALGORITHM_H_
11
12#include "Task.h"
13#include <TObject.h>
14
15namespace Hal {
16 class Package;
17 class SmearedEvent;
18 class SmearedTrack;
19
24 class SmearAlgorithm : public TObject {
25 public:
26 SmearAlgorithm() {};
31 virtual Task::EInitFlag Init() { return Task::EInitFlag::kSUCCESS; };
36 virtual Package* Report() const;
41 virtual SmearAlgorithm* MakeCopy() const = 0;
42 virtual ~SmearAlgorithm() {};
43 ClassDef(SmearAlgorithm, 1)
44 };
45
51 class EventSmear : public SmearAlgorithm {
52 public:
53 EventSmear();
58 virtual void ModifyEvent(SmearedEvent* mod) = 0;
59 virtual Package* Report() const;
60 virtual ~EventSmear();
61 ClassDef(EventSmear, 1)
62 };
63
68 public:
70 virtual void ModifyEvent(SmearedEvent* mod);
71 virtual SmearAlgorithm* MakeCopy() const;
72 virtual Package* Report() const;
73 virtual ~EventSmearVirtual();
74 ClassDef(EventSmearVirtual, 1)
75 };
76
81 class TrackSmear : public SmearAlgorithm {
82 public:
83 TrackSmear();
88 virtual void ModifyTrack(SmearedTrack* mod) = 0;
89 virtual ~TrackSmear();
90 ClassDef(TrackSmear, 1)
91 };
92
97 public:
99 virtual void ModifyTrack(SmearedTrack* mod);
100 virtual SmearAlgorithm* MakeCopy() const;
101 virtual ~TrackSmearVirtual();
102 ClassDef(TrackSmearVirtual, 1)
103 };
104} // namespace Hal
105#endif /* HALSMOTHALGORITHM_H_ */
virtual SmearAlgorithm * MakeCopy() const
virtual Package * Report() const
virtual void ModifyEvent(SmearedEvent *mod)
virtual Package * Report() const
virtual void ModifyEvent(SmearedEvent *mod)=0
virtual SmearAlgorithm * MakeCopy() const =0
virtual Package * Report() const
virtual Task::EInitFlag Init()
virtual SmearAlgorithm * MakeCopy() const
virtual void ModifyTrack(SmearedTrack *mod)
virtual void ModifyTrack(SmearedTrack *mod)=0