8#ifndef BMNMCTRACKCREATOR_H_
9#define BMNMCTRACKCREATOR_H_
15#include "BmnGemStripStationSet.h"
16#include "BmnSiliconStationSet.h"
17#include "BmnCSCStationSet.h"
18#include "BmnGemStripStationSet_RunSpring2017.h"
63 return (fBmnMCTracks.count(mcId) > 0) ? kTRUE : kFALSE;
83 return fBmnMCTracks.find(mcId)->second;
91 return fBmnMCTracks.size();
99 void ReadDataBranches();
106 void AddPoints(
DetectorId detId,
const TClonesArray* array);
116 void AddRingParameters();
124 void FairMCPointToBmnMCPoint(
125 const FairMCPoint* fairPoint,
130 void FairMCPointCoordinatesAndMomentumToBmnMCPoint(
131 const FairMCPoint* fairPoint,
134 TClonesArray* fMCTracks;
135 TClonesArray* fSilPoints;
136 TClonesArray* fSsdPoints;
137 TClonesArray* fGemPoints;
138 TClonesArray* fTof400Points;
139 TClonesArray* fTof700Points;
140 TClonesArray* fCscPoints;
141 TClonesArray* fDchPoints;
143 Int_t fNSiliconStations;
149 std::map<Int_t, BmnMCTrack> fBmnMCTracks;
virtual ~BmnMCTrackCreator()
Destructor.
Int_t GetNofTracks() const
Return number of tracks.
static BmnMCTrackCreator * Instance(TString gem, TString sil, TString csc)
Singleton instance.
Bool_t TrackExists(Int_t mcId) const
Check whether a track exists in the array.
void Create()
Creates array of BmnMCTracks for current event. Has to be executed in Exec() function of the task.
const BmnMCTrack & GetTrack(int mcId) const
Return BmnMCTrack by its index.