CbmRoot
Loading...
Searching...
No Matches
CbmRichHitProducer.h
Go to the documentation of this file.
1/* Copyright (C) 2004-2021 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Boris Polichtchouk, Semen Lebedev, Andrey Lebedev [committer], Volker Friese */
4
14#ifndef CBM_RICH_HIT_PRODUCER
15#define CBM_RICH_HIT_PRODUCER
16
17#include "CbmRichRecGeoPar.h"
18#include "FairTask.h"
19
20#include <TClonesArray.h> // for ROOTCLING
21
22class TVector3;
23class CbmEvent;
24class CbmDigiManager;
25
34class CbmRichHitProducer : public FairTask {
35 public:
40
44 virtual ~CbmRichHitProducer();
45
49 virtual void SetParContainers();
50
54 virtual InitStatus Init();
55
59 virtual void Exec(Option_t* option);
60
64 virtual void Finish();
65
69 Int_t ProcessData(CbmEvent* event);
70
74 void ProcessDigi(CbmEvent* event, Int_t digiIndex);
75
76 void SetRotationNeeded(Bool_t b) { fRotationNeeded = b; }
77
78
79 private:
81 TClonesArray* fRichHits = nullptr; // RICH hits
82 TClonesArray* fCbmEvents = nullptr; // CbmEvent for time-based simulations
83
84 Int_t fNofTs = 0; // number of timeslices
85 Int_t fNofEvents = 0; // number of events
86 Long64_t fNofDigisAll = 0; // all digis in input
87 Long64_t fNofDigisUsed = 0; // digis used for hit finding
88 Long64_t fNofHitsAll = 0; // all hits in output
89 Double_t fTime = 0.; // processing time
90
91 Bool_t fRotationNeeded = kTRUE;
92
93 Double_t fHitError = 0.6 / sqrt(12);
94
99 void AddHit(CbmEvent* event, TVector3& posHit, Double_t time, Int_t index);
100
105
110
111 ClassDef(CbmRichHitProducer, 1)
112};
113
114#endif
RICH geometry parameters for the reconstruction. This class is used for convinient storing of the bas...
friend fvec sqrt(const fvec &a)
CbmDigiManager.
Class characterising one event by a collection of links (indices) to data objects,...
Definition CbmEvent.h:34
Class for producing RICH hits directly from MCPoints.
CbmRichHitProducer()
Default constructor.
CbmRichHitProducer(const CbmRichHitProducer &)
Copy constructor.
void AddHit(CbmEvent *event, TVector3 &posHit, Double_t time, Int_t index)
Add hit to the output array (and) CbmEvent if it is not NULL.
void SetRotationNeeded(Bool_t b)
virtual ~CbmRichHitProducer()
Destructor.
virtual void SetParContainers()
Inherited from FairTask.
CbmDigiManager * fDigiMan
TClonesArray * fRichHits
CbmRichHitProducer & operator=(const CbmRichHitProducer &)
Assignment operator.
virtual InitStatus Init()
Inherited from FairTask.
void ProcessDigi(CbmEvent *event, Int_t digiIndex)
TClonesArray * fCbmEvents
virtual void Exec(Option_t *option)
Inherited from FairTask.
virtual void Finish()
Inherited from FairTask.
Int_t ProcessData(CbmEvent *event)