Project
Loading...
Searching...
No Matches
o2::zdc::Detector Class Reference

#include <Detector.h>

Inherits o2::base::DetImpl< Detector >.

Public Types

enum  ZDCMaterial {
  kWalloy = 1 , kCuZn = 2 , kSiO2pmc = 3 , kSiO2pmq = 4 ,
  kPb = 5 , kCu = 6 , kFe = 7 , kFeLowTh = 8 ,
  kCuLumi = 9 , kVoidNoField = 10 , kVoidwField = 11 , kAir = 12 ,
  kAl = 13 , kGraphite = 14
}
 

Public Member Functions

 Detector (Bool_t active=true)
 
 ~Detector () override=default
 
void InitializeO2Detector () final
 
Bool_t ProcessHits (FairVolume *v=nullptr) final
 
bool createHitsFromImage (SpatialPhotonResponse const &image, int detector)
 
void Register () override
 
std::vector< o2::zdc::Hit > * getHits (int32_t iColl) const
 Gets the produced collections.
 
void Reset () final
 
void EndOfEvent () final
 
void FinishPrimary () final
 
void BeginPrimary () final
 
void ConstructGeometry () final
 
void createMaterials ()
 
void addAlignableVolumes () const override
 declare alignable volumes of detector
 
o2::zdc::HitaddHit (int32_t trackID, int32_t parentID, int32_t sFlag, float primaryEnergy, int32_t detID, int32_t secID, math_utils::Vector3D< float > pos, math_utils::Vector3D< float > mom, float tof, math_utils::Vector3D< float > xImpact, double energyloss, int32_t nphePMC, int32_t nphePMQ)
 
- 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
 
FairModuleCloneModule () 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
 

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 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 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)
 
Detectoroperator= (const Detector &)
 
- 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
 
charmHitCollectorBufferPtr
 
- Static Protected Attributes inherited from o2::base::DetImpl< Detector >
static constexpr int NHITBUFFERS
 

Detailed Description

Definition at line 54 of file Detector.h.

Member Enumeration Documentation

◆ ZDCMaterial

Enumerator
kWalloy 
kCuZn 
kSiO2pmc 
kSiO2pmq 
kPb 
kCu 
kFe 
kFeLowTh 
kCuLumi 
kVoidNoField 
kVoidwField 
kAir 
kAl 
kGraphite 

Definition at line 57 of file Detector.h.

Constructor & Destructor Documentation

◆ Detector()

Detector::Detector ( Bool_t  active = true)

Definition at line 65 of file Detector.cxx.

◆ ~Detector()

o2::zdc::Detector::~Detector ( )
overridedefault

Member Function Documentation

◆ addAlignableVolumes()

void o2::zdc::Detector::addAlignableVolumes ( ) const
inlineoverridevirtual

declare alignable volumes of detector

Reimplemented from o2::base::Detector.

Definition at line 110 of file Detector.h.

◆ addHit()

o2::zdc::Hit * Detector::addHit ( int32_t  trackID,
int32_t  parentID,
int32_t  sFlag,
float  primaryEnergy,
int32_t  detID,
int32_t  secID,
math_utils::Vector3D< float >  pos,
math_utils::Vector3D< float >  mom,
float  tof,
math_utils::Vector3D< float >  xImpact,
double  energyloss,
int32_t  nphePMC,
int32_t  nphePMQ 
)

Definition at line 605 of file Detector.cxx.

◆ BeginPrimary()

void Detector::BeginPrimary ( )
final

Definition at line 2517 of file Detector.cxx.

◆ ConstructGeometry()

void Detector::ConstructGeometry ( )
final

Definition at line 323 of file Detector.cxx.

◆ createHitsFromImage()

bool Detector::createHitsFromImage ( SpatialPhotonResponse const &  image,
int  detector 
)

Definition at line 531 of file Detector.cxx.

◆ createMaterials()

void Detector::createMaterials ( )

Definition at line 618 of file Detector.cxx.

◆ EndOfEvent()

void Detector::EndOfEvent ( )
final

Definition at line 292 of file Detector.cxx.

◆ FinishPrimary()

void Detector::FinishPrimary ( )
final

Definition at line 2491 of file Detector.cxx.

◆ getHits()

std::vector< o2::zdc::Hit > * o2::zdc::Detector::getHits ( int32_t  iColl) const
inline

Gets the produced collections.

Definition at line 93 of file Detector.h.

◆ InitializeO2Detector()

void Detector::InitializeO2Detector ( )
finalvirtual

Implements o2::base::Detector.

Definition at line 181 of file Detector.cxx.

◆ ProcessHits()

Bool_t Detector::ProcessHits ( FairVolume *  v = nullptr)
final

Definition at line 385 of file Detector.cxx.

◆ Register()

void Detector::Register ( )
override

This will create a branch in the output tree called DetectorPoint, setting the last parameter to kFALSE means: this collection will not be written to the file, it will exist only during the simulation.

Definition at line 301 of file Detector.cxx.

◆ Reset()

void Detector::Reset ( )
final

Definition at line 315 of file Detector.cxx.

Friends And Related Symbol Documentation

◆ o2::base::DetImpl

template<typename Det >
friend class o2::base::DetImpl
friend

Definition at line 277 of file Detector.h.


The documentation for this class was generated from the following files: