![]() |
Project
|
#include <Detector.h>
Inherits o2::base::DetImpl< Detector >.
Public Member Functions | |
| Detector (Bool_t active) | |
| Detector () | |
| Default constructor. | |
| ~Detector () override | |
| Default destructor. | |
| void | InitializeO2Detector () override |
| Initialization of the detector is done here. | |
| bool | isMTSafe () const override |
| whether this detector may run in multithreaded Geant4, with one clone per worker thread | |
| Bool_t | ProcessHits (FairVolume *v=nullptr) override |
| This method is called for each step during simulation (see FairMCApplication::Stepping()) | |
| void | Reset () override |
| Has to be called after each event to reset the containers. | |
| void | Register () override |
| Registers the produced collections in FAIRRootManager. | |
| std::vector< o2::itsmft::Hit > * | getHits (Int_t iColl) const |
| Gets the produced hits. | |
| void | EndOfEvent () override |
| void | FinishPrimary () override |
| void | FinishRun () override |
| void | BeginPrimary () override |
| void | PostTrack () override |
| void | PreTrack () override |
| void | ConstructGeometry () override |
| void | addAlignableVolumes () const override |
| Add alignable top volumes. | |
| void | addAlignableVolumesHalf (Int_t hf, TString &parent, Int_t &lastUID) const |
| void | addAlignableVolumesDisk (Int_t hf, Int_t dk, TString &parent, Int_t &lastUID) const |
| void | addAlignableVolumesLadder (Int_t hf, Int_t dk, Int_t lr, TString &parent, Int_t &lastUID) const |
| void | addAlignableVolumesChip (Int_t hf, Int_t dk, Int_t lr, Int_t ms, TString &parent, Int_t &lastUID) const |
| Int_t | isVersion () const |
| void | createMaterials () |
| Creating materials for the detector. | |
| void | setDensitySupportOverSi (Double_t density) |
| void | createGeometry () |
| void | defineSensitiveVolumes () |
Public Member Functions inherited from o2::base::DetImpl< Detector > | |
| DetImpl (const DetImpl &rhs) | |
| copy for a worker thread of multithreaded Geant4; the copy creates its own hit buffers in initializeLate | |
| DetImpl & | operator= (const DetImpl &)=delete |
| std::string | getHitBranchNames (int probe) const override |
| void | updateHitTrackIndices (std::map< int, int > const &indexmapping) override |
| void | attachHits (fair::mq::Channel &channel, fair::mq::Parts &parts) override |
| void | mergeAndAdjustHits (std::string const &brname, TTree &origin, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered) |
| void | mergeAndAdjustHits (std::string const &brname, L &hitbuffervector, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered) |
| void | mergeHitEntries (TTree &origin, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered) final |
| auto & | hitCollector () |
| void | mergeHitEntriesAndFlush (int eventID, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered) final |
| void | collectHits (int eventID, fair::mq::Parts &parts, int &index, bool shm) override |
| void | fillHitBranch (TTree &tr, fair::mq::Parts &parts, int &index) override |
| FairModule * | CloneModule () const final |
| void | freeHitBuffers () |
| bool | setHits (int i, std::vector< Hit_t > *ptr) |
| void | createHitBuffers () |
| void | initializeLate () final |
| void | BeginEvent () final |
| ~DetImpl () override | |
| void | Streamer (TBuffer &) |
| Detector (const char *name, Bool_t Active) | |
| Detector () | |
| Default Constructor. | |
| Detector (const Detector &origin) | |
Public Member Functions inherited from o2::base::Detector | |
| Detector (const char *name, Bool_t Active) | |
| Detector () | |
| Default Constructor. | |
| ~Detector () override | |
| Default Destructor. | |
| void | Material (Int_t imat, const char *name, Float_t a, Float_t z, Float_t dens, Float_t radl, Float_t absl, Float_t *buf=nullptr, Int_t nwbuf=0) |
| void | Mixture (Int_t imat, const char *name, Float_t *a, Float_t *z, Float_t dens, Int_t nlmat, Float_t *wmat) |
| void | Medium (Int_t numed, const char *name, Int_t nmat, Int_t isvol, Int_t ifield, Float_t fieldm, Float_t tmaxfd, Float_t stemax, Float_t deemax, Float_t epsil, Float_t stmin, Float_t *ubuf=nullptr, Int_t nbuf=0) |
| void | SpecialCuts (Int_t numed, const std::initializer_list< std::pair< ECut, Float_t > > &parIDValMap) |
| Custom processes and transport cuts. | |
| void | SpecialCut (Int_t numed, ECut parID, Float_t val) |
| Set cut by name and value. | |
| void | SpecialProcesses (Int_t numed, const std::initializer_list< std::pair< EProc, int > > &parIDValMap) |
| void | SpecialProcess (Int_t numed, EProc parID, int val) |
| Set process by name and value. | |
| void | Matrix (Int_t &nmat, Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3) const |
| void | SetSpecialPhysicsCuts () override |
| virtual void | fillParallelWorld () const |
| fill parallel geometry with sensitive volumes of detector | |
| virtual void | defineWrapperVolume (Int_t id, Double_t rmin, Double_t rmax, Double_t zspan) |
| Sets per wrapper volume parameters. | |
| virtual void | setNumberOfWrapperVolumes (Int_t n) |
| Books arrays for wrapper volumes. | |
| virtual void | defineLayer (Int_t nlay, Double_t phi0, Double_t r, Int_t nladd, Int_t nmod, Double_t lthick=0., Double_t dthick=0., UInt_t detType=0, Int_t buildFlag=0) |
| virtual void | defineLayerTurbo (Int_t nlay, Double_t phi0, Double_t r, Int_t nladd, Int_t nmod, Double_t width, Double_t tilt, Double_t lthick=0., Double_t dthick=0., UInt_t detType=0, Int_t buildFlag=0) |
| int | getMaterialID (int imat) const |
| int | getMediumID (int imed) const |
| void | getMediumIDMappingAsVector (std::vector< int > &mapping) |
| std::string | addNameTo (const char *ext) const |
| void | Initialize () final |
| int | registerSensitiveVolumeAndGetVolID (std::string const &name) |
| int | registerSensitiveVolumeAndGetVolID (TGeoVolume const *vol) |
| TClonesArray * | GetCollection (int iColl) const final |
Public Member Functions inherited from FairDetector | |
| FairDetector (const char *Name, Bool_t Active, Int_t DetId=0) | |
| FairDetector () | |
| virtual | ~FairDetector () |
| virtual TClonesArray * | GetCollection (Int_t iColl) const =0 |
| virtual void | CopyClones (TClonesArray *, TClonesArray *, Int_t) |
| virtual void | FinishEvent () |
| void | SaveGeoParams () |
| Int_t | GetDetId () |
Public Member Functions inherited from FairModule | |
| FairModule () | |
| FairModule (const char *Name, const char *title, Bool_t Active=kFALSE) | |
| virtual | ~FairModule () |
| virtual void | Print (Option_t *) const |
| virtual void | SetGeometryFileName (TString fname, TString geoVer="0") |
| virtual TString | GetGeometryFileName () |
| virtual TString | GetGeometryFileVer () |
| virtual void | ConstructOpGeometry () |
| virtual void | ConstructRootGeometry (TGeoMatrix *shiftM=nullptr) |
| virtual void | ConstructASCIIGeometry () |
| virtual void | ModifyGeometry () __attribute__((deprecated("Use FairAlignmentHandler instead |
| virtual void | RegisterAlignmentMatrices () |
| virtual void | ConstructGDMLGeometry (__attribute__((unused)) TGeoMatrix *posrot) |
| virtual void | BeginWorkerRun () const |
| virtual void | FinishWorkerRun () const |
| virtual Bool_t | IsSensitive (const std::string &name) |
| virtual Bool_t | CheckIfSensitive (__attribute__((unused)) std::string name) __attribute__((deprecated("The method CheckIfSensitive is deprecated. Implement IsSensitive in the detector classes."))) |
| virtual void | ExpandNode (TGeoNode *Node) |
| virtual void | ExpandNodeForGDML (__attribute__((unused)) TGeoNode *curNode) |
| virtual Int_t | getVolId (const TString &) const |
| Int_t | GetModId () |
| void | SetVerboseLevel (Int_t level) |
| Bool_t | IsActive () |
| void | SetModId (Int_t id) |
| void | SetMotherVolume (TString volName) |
| virtual void | SetParContainers () |
| virtual void | InitParContainers () |
| TList * | GetListOfGeoPar () |
| FairVolume * | getFairVolume (FairGeoNode *fNode) |
| void | AddSensitiveVolume (TGeoVolume *v) |
| void | SetMC (TVirtualMC *mc) |
| cahed pointer to MC (available only after initialization) | |
| ClassDef (FairModule, 4) | |
Public Attributes | |
| GeometryTGeo * | mGeometryTGeo |
Public Attributes inherited from FairModule | |
| virtual void see Tutorial4 for | examples |
| TString | fMotherVolumeName |
Protected Attributes | |
| Int_t | mVersion |
| access to geometry details | |
| Double_t | mDensitySupportOverSi |
Protected Attributes inherited from o2::base::DetImpl< Detector > | |
| ShmBusyFlag * | mShmBusy [NHITBUFFERS] |
| std::vector< void * > | mCachedPtr [NHITBUFFERS] |
| pointer to flag in shared mem indicating of IO busy | |
| int | mCurrentBuffer |
| int | mInitialized |
| std::shared_ptr< void > | mHitCollector |
Protected Attributes inherited from FairDetector | |
| Int_t | fDetId |
| FairLogger * | fLogger |
Protected Attributes inherited from FairModule | |
| TString | fgeoVer |
| TString | fgeoName |
| Int_t | fModId |
| Bool_t | fActive |
| Int_t | fNbOfSensitiveVol |
| Int_t | fVerboseLevel |
| TList * | flGeoPar |
| Bool_t | fGeoSaved |
| list of Detector Geometry parameters | |
| TVirtualMC * | fMC |
| flag for initialisation | |
Friends | |
| template<typename Det > | |
| class | o2::base::DetImpl |
Additional Inherited Members | |
Static Public Member Functions inherited from o2::base::Detector | |
| static void | setDensityFactor (Float_t density) |
| static Float_t | getDensityFactor () |
| static int | updatedTrackIndex (std::map< int, int > const &indexmapping, int trackID) |
| static int | offsetTrackIndex (int trackID, int nprimaries, int primaryOffset, int secondaryOffset) |
| static void | initFieldTrackingParams (int &mode, float &maxfield) |
| static void | setDetId2HitBitIndex (std::vector< int > const &v) |
| set the DetID to HitBitIndex mapping. Succeeds if not already set. | |
| static std::vector< int > const & | getDetId2HitBitIndex () |
Static Public Attributes inherited from FairModule | |
| static thread_local FairVolumeList * | vList = 0 |
| static thread_local Int_t | fNbOfVolumes = 0 |
| static thread_local TRefArray * | svList = 0 |
| static thread_local TArrayI * | volNumber = 0 |
Protected Member Functions inherited from o2::base::DetImpl< Detector > | |
| ClassDefOverride (DetImpl, 0) | |
| type-erased hit buffers of this instance in the hit merger (see hitCollector()) | |
Protected Member Functions inherited from o2::base::Detector | |
| Detector (const Detector &origin) | |
| Detector & | operator= (const Detector &) |
Protected Member Functions inherited from FairDetector | |
| FairDetector (const FairDetector &) | |
| FairDetector & | operator= (const FairDetector &) |
| void | DefineSensitiveVolumes () |
| ClassDef (FairDetector, 1) | |
| /// FairLogger | |
Protected Member Functions inherited from FairModule | |
| FairModule (const FairModule &) | |
| FairModule & | operator= (const FairModule &) |
Static Protected Attributes inherited from o2::base::DetImpl< Detector > | |
| static constexpr int | NHITBUFFERS |
Definition at line 49 of file Detector.h.
| Detector::Detector | ( | Bool_t | active | ) |
Name : Detector Name Active: kTRUE for active detectors (ProcessHits() will be called) kFALSE for inactive detectors
Definition at line 47 of file Detector.cxx.
| Detector::Detector | ( | ) |
Default constructor.
Definition at line 43 of file Detector.cxx.
|
override |
Default destructor.
Definition at line 77 of file Detector.cxx.
|
overridevirtual |
Add alignable top volumes.
Reimplemented from o2::base::Detector.
Definition at line 624 of file Detector.cxx.
| void Detector::addAlignableVolumesChip | ( | Int_t | hf, |
| Int_t | dk, | ||
| Int_t | lr, | ||
| Int_t | ms, | ||
| TString & | parent, | ||
| Int_t & | lastUID | ||
| ) | const |
Add alignable Sensor volumes
| hf | half number |
| dk | disk number |
| lr | ladder number |
| ms | sensor number |
| parent | path of the parent volume |
| lastUID | on output, UID of the last volume |
Definition at line 716 of file Detector.cxx.
| void Detector::addAlignableVolumesDisk | ( | Int_t | hf, |
| Int_t | dk, | ||
| TString & | parent, | ||
| Int_t & | lastUID | ||
| ) | const |
Add alignable Disk volumes
| hf | half number |
| dk | disk number |
| parent | path of the parent volume |
| lastUID | on output, UID of the last volume |
Definition at line 671 of file Detector.cxx.
| void Detector::addAlignableVolumesHalf | ( | Int_t | hf, |
| TString & | parent, | ||
| Int_t & | lastUID | ||
| ) | const |
Add alignable Half volumes
| hf | Half number |
| parent | path of the parent volume |
| lastUID | on output, UID of the last volume |
Definition at line 652 of file Detector.cxx.
| void Detector::addAlignableVolumesLadder | ( | Int_t | hf, |
| Int_t | dk, | ||
| Int_t | lr, | ||
| TString & | parent, | ||
| Int_t & | lastUID | ||
| ) | const |
Add alignable Ladder volumes
| hf | half number |
| dk | disk number |
| lr | ladder stave number |
| parent | path of the parent volume |
| lastUID | on output, UID of the last volume |
Definition at line 695 of file Detector.cxx.
|
inlineoverridevirtual |
User actions at beginning of a primary track
Reimplemented from FairDetector.
Definition at line 89 of file Detector.h.
|
overridevirtual |
method called from the MC application to construct the geometry, has to be implimented by user
Reimplemented from FairModule.
Definition at line 602 of file Detector.cxx.
| void Detector::createGeometry | ( | ) |
Definition at line 594 of file Detector.cxx.
| void Detector::createMaterials | ( | ) |
Creating materials for the detector.
Definition at line 213 of file Detector.cxx.
| void Detector::defineSensitiveVolumes | ( | ) |
Definition at line 610 of file Detector.cxx.
|
overridevirtual |
this is called at the end of an event after the call to tree fill in the FairRootManager
Reimplemented from FairDetector.
Definition at line 733 of file Detector.cxx.
|
inlineoverridevirtual |
User actions after finishing of a primary track
Reimplemented from FairDetector.
Definition at line 87 of file Detector.h.
|
inlineoverridevirtual |
|
inline |
Gets the produced hits.
Definition at line 77 of file Detector.h.
|
overridevirtual |
Initialization of the detector is done here.
Implements o2::base::Detector.
Definition at line 87 of file Detector.cxx.
|
inlineoverridevirtual |
whether this detector may run in multithreaded Geant4, with one clone per worker thread
Reimplemented from o2::base::Detector.
Definition at line 65 of file Detector.h.
|
inline |
Definition at line 127 of file Detector.h.
|
inlineoverridevirtual |
User actions after finishing of each track
Reimplemented from FairDetector.
Definition at line 90 of file Detector.h.
|
inlineoverridevirtual |
User actions at beginning of each track
Reimplemented from FairDetector.
Definition at line 91 of file Detector.h.
|
overridevirtual |
This method is called for each step during simulation (see FairMCApplication::Stepping())
Implements FairDetector.
Definition at line 95 of file Detector.cxx.
|
overridevirtual |
Registers the produced collections in FAIRRootManager.
Implements FairDetector.
Definition at line 736 of file Detector.cxx.
|
overridevirtual |
Has to be called after each event to reset the containers.
Implements FairDetector.
Definition at line 749 of file Detector.cxx.
|
inline |
Definition at line 131 of file Detector.h.
|
friend |
Definition at line 170 of file Detector.h.
|
protected |
Definition at line 147 of file Detector.h.
| GeometryTGeo* o2::mft::Detector::mGeometryTGeo |
Definition at line 143 of file Detector.h.
|
protected |
access to geometry details
Definition at line 146 of file Detector.h.