![]() |
Project
|
Detector class for the PHOS detector. More...
#include <Detector.h>
Inherits o2::base::DetImpl< Detector >.
Public Types | |
| enum | { ID_PWO = 1 , ID_AL = 2 , ID_TYVEK = 3 , ID_POLYFOAM = 4 , ID_APD = 5 , ID_THERMOINS = 6 , ID_TEXTOLIT = 7 , ID_PRINTCIRC = 8 , ID_FE = 9 , ID_FIBERGLASS = 10 , ID_CABLES = 11 , ID_AIR = 12 } |
Public Member Functions | |
| Detector ()=default | |
| Detector (Bool_t isActive) | |
| ~Detector () override | |
| void | InitializeO2Detector () final |
| Bool_t | ProcessHits (FairVolume *v=nullptr) final |
| Hit * | addHit (Int_t trackID, Int_t detID, const math_utils::Point3D< float > &pos, const math_utils::Vector3D< float > &mom, Double_t totE, Double_t time, Double_t eLoss) |
| void | Register () override |
| std::vector< Hit > * | getHits (Int_t iColl) const |
| void | Reset () final |
| void | FinishEvent () final |
| Sort final hist. | |
| void | EndOfEvent () final |
| Geometry * | getGeometry () |
| void | addAlignableVolumes () const override |
Public Member Functions inherited from o2::base::DetImpl< Detector > | |
| 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 |
| 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) 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 | |
| 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, Float_t theta1, Float_t phi1, Float_t theta2, Float_t phi2, Float_t theta3, Float_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 |
Protected Member Functions | |
| void | CreateMaterials () |
| void | ConstructGeometry () override |
| void | ConstructSupportGeometry () |
| Creating PHOS/support description for Geant. | |
| void | ConstructEMCGeometry () |
| Creating calo for Geant. | |
Protected Member Functions inherited from o2::base::DetImpl< Detector > | |
| ClassDefOverride (DetImpl, 0) | |
| pointer to hit (collector) buffer location (strictly internal) | |
Protected Member Functions inherited from o2::base::Detector | |
| Detector (const Detector &origin) | |
| Detector & | operator= (const Detector &) |
Friends | |
| template<typename Det > | |
| class | o2::base::DetImpl |
| current Hit | |
Additional Inherited Members | |
Static Public Member Functions inherited from o2::base::Detector | |
| static void | setDensityFactor (Float_t density) |
| static Float_t | getDensityFactor () |
| 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 () |
Protected Attributes inherited from o2::base::DetImpl< Detector > | |
| bool * | mShmBusy [NHITBUFFERS] |
| std::vector< void * > | mCachedPtr [NHITBUFFERS] |
| pointer to bool in shared mem indicating of IO busy | |
| int | mCurrentBuffer |
| int | mInitialized |
| char * | mHitCollectorBufferPtr |
Static Protected Attributes inherited from o2::base::DetImpl< Detector > | |
| static constexpr int | NHITBUFFERS |
Detector class for the PHOS detector.
The detector class handles the implementation of the PHOS detector within the virtual Monte-Carlo framework and the simulation of the PHOS detector up to hit generation
Definition at line 41 of file Detector.h.
| anonymous enum |
| Enumerator | |
|---|---|
| ID_PWO | |
| ID_AL | |
| ID_TYVEK | |
| ID_POLYFOAM | |
| ID_APD | |
| ID_THERMOINS | |
| ID_TEXTOLIT | |
| ID_PRINTCIRC | |
| ID_FE | |
| ID_FIBERGLASS | |
| ID_CABLES | |
| ID_AIR | |
Definition at line 45 of file Detector.h.
|
default |
Default constructor
| Detector::Detector | ( | Bool_t | isActive | ) |
Main constructor
| [in] | isActive | Switch whether detector is active in simulation |
Definition at line 41 of file Detector.cxx.
|
override |
Destructor
Definition at line 61 of file Detector.cxx.
|
overridevirtual |
Specifies PHOS modules as alignable volumes
Reimplemented from o2::base::Detector.
Definition at line 921 of file Detector.cxx.
| Hit * Detector::addHit | ( | Int_t | trackID, |
| Int_t | detID, | ||
| const math_utils::Point3D< float > & | pos, | ||
| const math_utils::Vector3D< float > & | mom, | ||
| Double_t | totE, | ||
| Double_t | time, | ||
| Double_t | eLoss | ||
| ) |
Add PHOS hit Internally adding hits coming from the same track
| [in] | trackID | Index of the track in the MC stack first entered PHOS |
| [in] | detID | Index of the detector (cell) for which the hit is created |
| [in] | pos | Position vector of the particle first entered PHOS |
| [in] | mom | Momentum vector of the particle first entered PHOS |
| [in] | totE | Total energy of the particle entered PHOS |
| [in] | time | Time of the hit |
| [in] | energyloss | Energy deposited in this step |
Definition at line 220 of file Detector.cxx.
|
protected |
Creating calo for Geant.
Definition at line 437 of file Detector.cxx.
|
overrideprotected |
Creating PHOS description for Geant
Definition at line 230 of file Detector.cxx.
|
protected |
Creating PHOS/support description for Geant.
Definition at line 803 of file Detector.cxx.
|
protected |
Creating detector materials for the PHOS detector and space frame
Definition at line 299 of file Detector.cxx.
|
final |
Steps to be carried out at the end of the event For PHOS cleaning the hit collection and the lookup table
Definition at line 74 of file Detector.cxx.
|
final |
Sort final hist.
Definition at line 78 of file Detector.cxx.
| Geometry * o2::phos::Detector::getGeometry | ( | ) |
Get the PHOS geometry desciption Will be created the first time the function is called
|
inline |
Get access to the hits
Definition at line 110 of file Detector.h.
|
finalvirtual |
|
final |
Processing hit creation in the PHOS crystalls
| [in] | v | Current sensitive volume |
Definition at line 130 of file Detector.cxx.
|
override |
Register vector with hits
Definition at line 128 of file Detector.cxx.
|
final |
Reset Clean Hits collection
Definition at line 116 of file Detector.cxx.
|
friend |
current Hit
Definition at line 196 of file Detector.h.