Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
VirtualEvent.h
1/*
2 * EventVirtual.h
3 *
4 * Created on: 04-05-2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALVIRTUALEVENT_H_
10#define HALVIRTUALEVENT_H_
11
12#include "Event.h"
13#include "EventInterface.h"
14#include "VirtualTrack.h"
15
16#include <TClonesArray.h>
17#include <TString.h>
18
19namespace Hal {
20
21
23 protected:
24 virtual void ConnectToTreeInternal(eMode /*mode*/) {};
25
26 public:
28 virtual ~VirtualEventInterface() {};
29 ClassDef(VirtualEventInterface, 1)
30 };
31
32 class VirtualEvent : public Event {
33 Event* fVirtualEvent;
34
35 public:
37 VirtualEvent(const VirtualEvent& other);
39 void Update(Hal::EventInterface* interface);
40 void RegisterInTree(TString prefix, Bool_t save = kTRUE);
41 Bool_t ExistInTree() const;
42 Track* GetTrackSafely(Int_t i) { return (Track*) fTracks->ConstructedAt(i); };
43 Event* GetNewEvent() const { return new VirtualEvent(*this); };
44 Track* GetNewTrack() const { return new VirtualTrack(); };
45 virtual ~VirtualEvent();
46 ClassDef(VirtualEvent, 1)
47 };
48} // namespace Hal
49#endif /* HALVIRTUALEVENT_H_ */
Bool_t ExistInTree() const
Event * GetNewEvent() const
void Update(Hal::EventInterface *interface)
Hal::EventInterface * CreateInterface() const