Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
EventInterfaceAdvanced.h
1/*
2 * AdvancedEventInterface.h
3 *
4 * Created on: 4 maj 2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HAL_DATAFORMAT_HALEVENTINTERFACEADVANCED_H_
10#define HAL_DATAFORMAT_HALEVENTINTERFACEADVANCED_H_
11
12#include "EventInterface.h"
13namespace Hal {
14 class TrackInterface;
15
17 protected:
18 Bool_t fCanDeleteEvent;
19 TrackInterface* fTrInterface;
20 virtual void ConnectToTreeInternal(EventInterface::eMode mode);
22
23 public:
31 virtual void Boost(Double_t vx, Double_t vy, Double_t vz);
36 virtual void Clear(Option_t* /*opt*/ = "") {};
42 virtual void Compress(Int_t* map, Int_t map_size) = 0;
47 virtual void CopyData(EventInterface* s) = 0;
48
55 virtual void CopyAndCompress(EventInterface* s, Int_t* map, Int_t map_size) = 0;
64 virtual void FillTrackInterface(TrackInterface* track, Int_t index) = 0;
69 virtual Int_t GetTotalTrackNo() const = 0;
74 TrackInterface* GetTrackInterface() const { return fTrInterface; };
80 virtual TObject* GetRawTrackPointer(Int_t index) const = 0;
85 virtual TObject* GetRawEventPointer() const = 0;
93 virtual void SetVertex(Double_t /*x*/, Double_t /*y*/, Double_t /*z*/) {};
99 virtual void SetPhi(Double_t /*phi*/, Double_t /*phi_error*/ = 0) {};
104 virtual Double_t GetPhi() const { return 0.; };
109 virtual Double_t GetPhiError() const { return 0.; };
114 virtual TLorentzVector GetVertex() const { return TLorentzVector(0., 0., 0., 0.); };
115 virtual ~EventInterfaceAdvanced();
116 ClassDef(EventInterfaceAdvanced, 1)
117 };
118} // namespace Hal
119#endif /* HAL_DATAFORMAT_HALEVENTINTERFACEADVANCED_H_ */
virtual void CopyData(EventInterface *s)=0
virtual void SetVertex(Double_t, Double_t, Double_t)
virtual Double_t GetPhiError() const
virtual TObject * GetRawTrackPointer(Int_t index) const =0
virtual Int_t GetTotalTrackNo() const =0
virtual TLorentzVector GetVertex() const
virtual void Clear(Option_t *="")
TrackInterface * GetTrackInterface() const
virtual TObject * GetRawEventPointer() const =0
virtual void Boost(Double_t vx, Double_t vy, Double_t vz)
virtual void CopyAndCompress(EventInterface *s, Int_t *map, Int_t map_size)=0
virtual void FillTrackInterface(TrackInterface *track, Int_t index)=0
virtual Double_t GetPhi() const
virtual void Compress(Int_t *map, Int_t map_size)=0
virtual void SetPhi(Double_t, Double_t=0)