11#ifndef CBMLITMCTRACKCREATOR_H_
12#define CBMLITMCTRACKCREATOR_H_
62 void Create(Int_t eventNum);
72 return (
fLitMCTracks.count(std::make_pair(mcEventId, mcId)) > 0) ? true :
false;
83 return fLitMCTracks.find(std::make_pair(mcEventId, mcId))->second;
Creates CbmLitMCTrack objects.
CbmMCDataArray * fTrdPoints
CbmLitMCTrackCreator(const CbmLitMCTrackCreator &)
void FillStationMaps(Int_t iEvent)
Fill maps for MC points to station id.
std::map< std::pair< int, int >, int > fTrdStationsMap
void StsPointCoordinatesAndMomentumToLitMCPoint(const CbmStsPoint *stsPoint, CbmLitMCPoint *litPoint)
void FairMCPointCoordinatesAndMomentumToLitMCPoint(const FairMCPoint *fairPoint, CbmLitMCPoint *litPoint)
void MuchPointCoordinatesAndMomentumToLitMCPoint(const CbmMuchPoint *muchPoint, CbmLitMCPoint *litPoint)
CbmLitMCTrackCreator operator=(const CbmLitMCTrackCreator &)
void FairMCPointToLitMCPoint(const FairMCPoint *fairPoint, CbmLitMCPoint *litPoint, int eventId, int refId, int stationId)
Convert FairMCPoint to CbmLitMCPoint.
virtual ~CbmLitMCTrackCreator()
Destructor.
bool TrackExists(int mcEventId, int mcId) const
Check whether a track exists in the array.
CbmMCDataArray * fMvdPoints
CbmMCDataArray * fTofPoints
void AddPoints(ECbmModuleId detId, CbmMCDataArray *array, Int_t iEvent)
Add MC points from a certain detector.
CbmDigiManager * fDigiMan
std::map< std::pair< int, int >, int > fMvdStationsMap
std::map< std::pair< int, int >, CbmLitMCTrack > fLitMCTracks
Int_t GetNofTracks() const
Return number of tracks.
void AddRichHits(Int_t iEvent)
Calculate and set number of RICH hits for MC track.
std::map< std::pair< int, int >, int > fMuchStationsMap
void Create(Int_t eventNum)
Creates array of CbmLitMCTracks for current event.
CbmRichRingFitterEllipseTau * fTauFit
CbmMCDataArray * fMCTracks
std::map< std::pair< int, int >, int > fStsStationsMap
CbmMCDataArray * fMuchPoints
void AddRingParameters(Int_t iEvent)
Fit Rich MC points using ellipse fitter and fill ellipse parameters.
void MvdPointCoordinatesAndMomentumToLitMCPoint(const CbmMvdPoint *mvdPoint, CbmLitMCPoint *litPoint)
CbmMCDataArray * fStsPoints
void ReadDataBranches()
Read data branches.
void TrdPointCoordinatesAndMomentumToLitMCPoint(const CbmTrdPoint *trdPoint, CbmLitMCPoint *litPoint)
CbmLitMCTrackCreator()
Constructor.
static CbmLitMCTrackCreator * Instance()
Singleton instance.
const CbmLitMCTrack & GetTrack(int mcEventId, int mcId) const
Return CbmLitMCTrack by its index.
CbmMCDataArray * fRichPoints
Access to a MC data branch for time-based analysis.
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.