17#include <FairDetector.h>
20#include <TClonesArray.h>
58 CbmRich(
const char* name, Bool_t active, Double_t px = 0., Double_t py = 0.,
60 Double_t rx = 0., Double_t ry = 0., Double_t rz = 0.);
78 virtual Bool_t
ProcessHits(FairVolume* vol =
nullptr);
99 virtual void Print(Option_t*)
const;
104 virtual void Reset();
112 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
151 virtual Bool_t
IsSensitive(
const std::string& name);
177 CbmRichPoint*
AddHit(Int_t trackID, Int_t detID, TVector3
pos, TVector3 mom, Double_t time, Double_t length,
Defines the active detector RICH. Constructs the geometry and creates MCPoints.
virtual Bool_t IsSensitive(const std::string &name)
void ConstructGdmlGeometry(TGeoMatrix *geoMatrix)
Construct geometry from GDML file.
virtual Bool_t ProcessHits(FairVolume *vol=nullptr)
Defines the action to be taken when a step is inside the active volume. Creates CbmRichPoints for MAP...
void SetRichGlassPropertiesForGeant4()
Set Cherenkov propeties for RICH mirror.
virtual void ConstructGeometry()
Construct geometry. Currently ROOT and ASCII formats are supported. The concrete method for geometry ...
void ConstructOpGeometry()
Put some optical properties.
Bool_t fRegisterPhotonsOnSensitivePlane
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Copies the hit collection with a given track index offset.
TClonesArray * fRichMirrorPoints
virtual ~CbmRich()
Destructor.
CbmRichPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
Adds a RichPoint to the TClonesArray.
void ExpandNodeForGdml(TGeoNode *node)
Assign materials by taking description from medoa.geo and not from GDML for a certain node.
TGeoCombiTrans * fPositionRotation
virtual void EndOfEvent()
If verbosity level is set, print hit collection at the end of the event and resets it afterwards.
CbmRich()
Default constructor.
TClonesArray * fRichPoints
TClonesArray * fRichRefPlanePoints
virtual void Reset()
Clears the hit collection.
CbmRich(const CbmRich &)
Copy constructor.
CbmRichPoint * AddRefPlaneHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
Adds a RichRefPlanePoint to the TClonesArray.
virtual void Print(Option_t *) const
Screen output of hit collection.
static std::map< TString, TGeoMedium * > fFixedMedia
virtual void Register()
Registers the hit collection in the ROOT manager.
virtual void Initialize()
Initialize detector. Stores volume IDs for RICH detector and mirror.
virtual TClonesArray * GetCollection(Int_t iColl) const
Return hit collection.
virtual Bool_t CheckIfSensitive(std::string name)
Check whether a volume is sensitive. The decision is based on the volume name. Only used in case of R...
CbmRichPoint * AddMirrorHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
Adds a RichMirrorPoint to the TClonesArray.
void SetRegisterPhotonsOnSensitivePlane(Bool_t b)
set fRegisterPhotonsOnSensitivePlane parameter
CbmRich & operator=(const CbmRich &)
Assignment operator.