CbmRoot
Loading...
Searching...
No Matches
HalCbmMCEventInterface.h
Go to the documentation of this file.
1/* Copyright (C) 2023-2023 Warsaw University of Technology, Warsaw
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Daniel Wielanek [committer] */
4#ifndef NICACBMATMCEVENTINTERFACE_H_
5#define NICACBMATMCEVENTINTERFACE_H_
6
8#include "HalCbmDetectorID.h"
10
11#include <TVector3.h>
12
13#include <Hal/EventInterface.h>
14
15class TClonesArray;
16class FairMCEventHeader;
18class HalCbmFullEvent;
19
20class HalCbmMCEventInterface : public Hal::EventInterface {
21 friend class HalCbmMCEvent;
22 friend class HalCbmFullEvent;
23
24 protected:
27 FairMCEventHeader* fEventHeader = {nullptr};
28 TClonesArray* fCbmMCtracks = {nullptr};
29 TClonesArray* fStsMatches = {nullptr};
30 TClonesArray* fTofMatches = {nullptr};
31 TClonesArray* fTrdMatches = {nullptr};
32 TClonesArray* fRichMatches = {nullptr};
33 TClonesArray* fMuchMatches = {nullptr};
34 virtual void ConnectToTreeInternal(eMode mode);
35
36 void Register(Bool_t write);
37
38 public:
40 virtual void FillTrackInterface(Hal::TrackInterface* track, Int_t index);
41 virtual Int_t GetTotalTrackNo() const;
42 virtual TObject* GetRawEventPointer() const { return fDataContainer; };
43 virtual Hal::TrackInterface* GetTrackInterface() const { return new HalCbmMCTrackInterface(); }
44 virtual TObject* GetRawTrackPointer(Int_t index) const;
46 virtual void SetRunInfoId(Int_t /*i*/){};
47 virtual Int_t GetRunInfoId() const { return 0; };
48 virtual void SetMagneticField(TVector3 /*mag*/) const {};
49 virtual TVector3 GetMagneticField() const { return TVector3(0, 0, 0); };
50 virtual TLorentzVector GetVertexError() const;
51 virtual TLorentzVector GetVertex() const;
53 ClassDef(HalCbmMCEventInterface, 1)
54};
55#endif /* NICACBMATMCEVENTINTERFACE_H_ */
virtual TLorentzVector GetVertexError() const
virtual Hal::TrackInterface * GetTrackInterface() const
virtual Int_t GetRunInfoId() const
virtual void FillTrackInterface(Hal::TrackInterface *track, Int_t index)
virtual TVector3 GetMagneticField() const
virtual TLorentzVector GetVertex() const
FairMCEventHeader * fEventHeader
virtual Int_t GetTotalTrackNo() const
virtual TObject * GetRawTrackPointer(Int_t index) const
CbmAnaTreeMcSourceContainer * fDataContainer
virtual TObject * GetRawEventPointer() const
virtual void SetRunInfoId(Int_t)
virtual void SetMagneticField(TVector3) const
virtual void ConnectToTreeInternal(eMode mode)