FairRoot/PandaRoot
|
#include <PndDsk.h>
Public Member Functions | |
PndDsk () | |
PndDsk (const char *name, Bool_t active) | |
virtual | ~PndDsk () |
virtual void | Initialize () |
virtual Bool_t | ProcessHits (FairVolume *vol=0) |
virtual void | EndOfEvent () |
virtual void | Register () |
virtual TClonesArray * | GetCollection (Int_t iColl) const |
virtual void | Print () const |
virtual void | Reset () |
virtual void | CopyClones (TClonesArray *cl1, TClonesArray *cl2, Int_t offset) |
virtual void | ConstructGeometry () |
virtual Bool_t | CheckIfSensitive (std::string name) |
Bool_t | DichroicMirrorTransmitted (Double_t wavelength, Int_t detector_type) |
PndDskCerenkov * | AddCerenkov (Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Double_t energy, Double_t wavelength, Int_t motherTrackID, Int_t motherPdgCode, TString motherPdgName) |
PndDskFLGHit * | AddHit (Int_t trackID, Int_t detectorID, TVector3 position_store, TVector3 momentum_store, Double_t time, Double_t angIn, Double_t thetaC_store, TVector3 Cherenkov_photon, Int_t light_guide, Int_t pixel) |
PndDskParticle * | AddParticle (Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Int_t pdgCode, TString pdgName, Double_t energy, Int_t motherTrackID, Int_t motherPdgCode, TString motherPdgName, Double_t mass, Double_t angIn, Double_t thetaC, Int_t nPhot) |
PndDskTrackPoint * | AddTrackPoint (Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Double_t length, Double_t eLoss) |
void | SetDebugLevel (Int_t debugLevel) |
void | SetPDE (Double_t pde) |
void | SetStoreCerenkovs (Bool_t storeCerenkovs) |
void | SetStoreParticles (Bool_t storeParticles) |
void | SetStoreTrackPoints (Bool_t storeTrackPoints) |
void | SetTrapFraction (std::string name) |
Private Member Functions | |
Bool_t | ProcessHitsCerenkov (FairVolume *vol=0) |
Bool_t | ProcessHitsCerenkov_FLG (FairVolume *vol=0) |
Bool_t | ProcessHitsParticle (FairVolume *vol=0) |
Bool_t | DoNotTrackCerenkov () |
Private Attributes | |
TH2F * | trapfrac [5] |
PndGeoDskFLG * | fGeo |
Int_t | fDebugLevel |
TClonesArray * | fDskCerenkovCollection |
Debug level. More... | |
TClonesArray * | fDskParticleCollection |
Cerenkov collection. More... | |
TClonesArray * | fDskTrackPointCollection |
Particle collection. More... | |
TClonesArray * | fDskFLGHitArray |
TrackPoint collection. More... | |
Bool_t | fStoreCerenkovs |
DSK hits. More... | |
Bool_t | fStoreParticles |
Whether to store Cerenkovs (default) or not. More... | |
Bool_t | fStoreTrackPoints |
Whether to store Particles (default) or not. More... | |
Bool_t | fStoreFLGHits |
Whether to store TrackPoints or not (default) More... | |
Bool_t | fCalcPWay |
Whether to store FLGHits (default) or not. More... | |
Bool_t | fMeasureTotalRefAngle |
Whether to calc Projected Way or not (default) More... | |
Int_t | fTrackID |
Whether to measure total reflection angle or not (default) More... | |
Int_t | fDetectorID |
Index of MCTrack. More... | |
TVector3 | fPosition |
Detector ID (volume) More... | |
TVector3 | fMomentum |
Position [cm]. More... | |
Double_t | fTime |
Momentum [GeV]. More... | |
Double_t | fLength |
Global time (since event start) [ns]. More... | |
Double_t | fELoss |
Track length since creation (without mothers) [cm]. More... | |
Double_t | fPDE |
Energy deposit [GeV]. More... | |
Int_t | fPdgCode |
Photon Detection Efficiency [0-1, 2]. More... | |
Double_t | fEnergy |
PDG code of current particle. More... | |
Double_t | fWavelength |
Energy [eV / GeV]. More... | |
Int_t | fMotherTrackID |
Vacuum wavelength hc/fEnergy [nm]. More... | |
Int_t | fMotherPdgCode |
Track ID of the particle that emitted this Cerenkov. More... | |
TString | fMotherPdgName |
PDG code of the particle that emitted this Cerenkov. More... | |
Short_t | fDetType |
translation of PDG code More... | |
Int_t | fDetNumber |
Detectortype that registered the Cerenkov. More... | |
Double_t | fDetTime |
Number of the Detector that registered the Cerenkov. More... | |
TVector3 | fDetMomentum |
Global time when Cerenkov was detected [ns]. More... | |
Double_t | fPrimaryAngleToCerenkov |
Momentum when detected [eV]. More... | |
Double_t | fPrimaryHitAngle |
Angle at the moment of first appearance. More... | |
TVector3 | fPrimaryHitMomentum |
Angle to the z-Axis at first appearance. More... | |
TString | fPdgName |
Angle between momentum of eachs first appearance. More... | |
TVector3 | fEndPosition |
PDG name according to fPdgCode. More... | |
Double_t | fEndTime |
Position when particles disappears. More... | |
TVector3 | fEndMomentum |
Time when particle disappears. More... | |
Double_t | fEndEnergy |
Momentum when particle disappears. More... | |
Double_t | fAngIn |
Energy when particle disappears. More... | |
Double_t | fThetaC |
TLorentzVector | tmpLVec |
PndDsk::PndDsk | ( | ) |
Default constructor
Definition at line 55 of file PndDsk.cxx.
References fDskCerenkovCollection, fDskFLGHitArray, fDskParticleCollection, fDskTrackPointCollection, and fGeo.
PndDsk::PndDsk | ( | const char * | name, |
Bool_t | active | ||
) |
Standard constructor with arguments
name | detetcor name |
active | sensitivity flag |
Definition at line 76 of file PndDsk.cxx.
References fDskCerenkovCollection, fDskFLGHitArray, fDskParticleCollection, fDskTrackPointCollection, and fGeo.
|
virtual |
Destructor
Definition at line 98 of file PndDsk.cxx.
References fDskCerenkovCollection, fDskFLGHitArray, fDskParticleCollection, fDskTrackPointCollection, and fGeo.
PndDskCerenkov * PndDsk::AddCerenkov | ( | Int_t | trackID, |
Int_t | detectorID, | ||
TVector3 | position, | ||
TVector3 | momentum, | ||
Double_t | time, | ||
Double_t | energy, | ||
Double_t | wavelength, | ||
Int_t | motherTrackID, | ||
Int_t | motherPdgCode, | ||
TString | motherPdgName | ||
) |
Method AddCerenkov
Adds a Cerenkov to the collection
Definition at line 352 of file PndDsk.cxx.
References fDskCerenkovCollection.
Referenced by ProcessHitsCerenkov(), and ProcessHitsCerenkov_FLG().
PndDskFLGHit * PndDsk::AddHit | ( | Int_t | trackID, |
Int_t | detectorID, | ||
TVector3 | position_store, | ||
TVector3 | momentum_store, | ||
Double_t | time, | ||
Double_t | angIn, | ||
Double_t | thetaC_store, | ||
TVector3 | Cherenkov_photon, | ||
Int_t | light_guide, | ||
Int_t | pixel | ||
) |
Definition at line 337 of file PndDsk.cxx.
References fDskFLGHitArray.
Referenced by ProcessHitsCerenkov_FLG().
PndDskParticle * PndDsk::AddParticle | ( | Int_t | trackID, |
Int_t | detectorID, | ||
TVector3 | position, | ||
TVector3 | momentum, | ||
Double_t | time, | ||
Int_t | pdgCode, | ||
TString | pdgName, | ||
Double_t | energy, | ||
Int_t | motherTrackID, | ||
Int_t | motherPdgCode, | ||
TString | motherPdgName, | ||
Double_t | mass, | ||
Double_t | angIn, | ||
Double_t | thetaC, | ||
Int_t | nPhot | ||
) |
Method AddParticle
Adds a Particle to the collection
Definition at line 369 of file PndDsk.cxx.
References fDskParticleCollection.
Referenced by ProcessHitsParticle().
PndDskTrackPoint * PndDsk::AddTrackPoint | ( | Int_t | trackID, |
Int_t | detectorID, | ||
TVector3 | position, | ||
TVector3 | momentum, | ||
Double_t | time, | ||
Double_t | length, | ||
Double_t | eLoss | ||
) |
Method AddTrackPoint
Adds a TrackPoint to the collection
Definition at line 388 of file PndDsk.cxx.
References fDskTrackPointCollection.
Referenced by ProcessHitsCerenkov(), and ProcessHitsCerenkov_FLG().
|
virtual |
Virtual method CheckIfSensitive
Decide if volume is sensitive
name | Name of the volume to check |
Definition at line 319 of file PndDsk.cxx.
|
virtual |
Virtual method ConstructGeometry
Decide how to construct the geometry
Definition at line 255 of file PndDsk.cxx.
References air, cave, Double_t, fGeo, fWindowHeightHalf, fWindowWidthHalf, geobuild, gGeoManager, Media, PndGeoDskFLG::postion_plate(), PndGeoDskFLG::radius(), CAMath::Tan(), thickness, PndGeoDskFLG::thickness(), and TString.
|
virtual |
Virtual method CopyClones
Copies the hit collection with a given track index offset
cl1 | Origin |
cl2 | Target |
offset | Index offset |
Definition at line 245 of file PndDsk.cxx.
Method DichroicMirrorTransmitted
simulates dichroic mirrors
Definition at line 707 of file PndDsk.cxx.
Referenced by ProcessHitsCerenkov().
|
private |
Method TrackCerenkov
Decides weather to track a Cerenkov or not
Definition at line 896 of file PndDsk.cxx.
References Double_t, fPDE, and fWavelength.
Referenced by ProcessHitsCerenkov(), and ProcessHitsCerenkov_FLG().
|
virtual |
Virtual method EndOfEvent
If verbosity level is set, print hit collection at the end of the event and resets it afterwards.
Definition at line 185 of file PndDsk.cxx.
References Reset().
|
virtual |
Virtual method GetCollection
Accessor to the Cerenkov and Particle collections
Definition at line 208 of file PndDsk.cxx.
References fDskCerenkovCollection, fDskFLGHitArray, fDskParticleCollection, and fDskTrackPointCollection.
|
virtual |
Virtual method Initialize Initialises detector.
Definition at line 126 of file PndDsk.cxx.
References Initialize(), and SetTrapFraction().
|
virtual |
|
virtual |
Virtual method ProcessHits
Decides if actions for a Cerenkov or a Particle have to be taken and calls the ProcessHitsX method accordingly.
vol | Pointer to the active volume |
Definition at line 169 of file PndDsk.cxx.
References fPdgCode, ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Private method ProcessHitsCerenkov
Defines the action to be taken when Cerenkov does a step inside the active volume. Creates and adds Cerenkovs to collection
vol | Pointer to the active volume |
Debug Tracks stepps
calculate total reflection angle
Definition at line 511 of file PndDsk.cxx.
References AddCerenkov(), PndStack::AddPoint(), PndDskCerenkov::AddPWay(), PndDskCerenkov::AddReflection(), AddTrackPoint(), Bool_t, DichroicMirrorTransmitted(), DoNotTrackCerenkov(), fCalcPWay, fDetectorID, fDetMomentum, fDetNumber, fDetTime, fDetType, fDskCerenkovCollection, fELoss, fEnergy, fLength, fMeasureTotalRefAngle, fMomentum, fMotherPdgCode, fMotherPdgName, fMotherTrackID, fPosition, fPrimaryAngleToCerenkov, fPrimaryHitAngle, fPrimaryHitMomentum, fStoreTrackPoints, fTime, fTrackID, fWavelength, PndDskCerenkov::GetNofReflections(), PndDskCerenkov::GetWavelength(), kDSK, PndDskCerenkov::Set5RefPosition(), PndDskCerenkov::SetFinalValues(), PndDskCerenkov::SetTotalRefAngle(), tmpLVec, and TString.
|
private |
Definition at line 401 of file PndDsk.cxx.
References AddCerenkov(), AddHit(), PndStack::AddPoint(), AddTrackPoint(), Bool_t, DoNotTrackCerenkov(), fDetectorID, fDskCerenkovCollection, fELoss, fEnergy, fGeo, fLength, fMomentum, fMotherPdgCode, fMotherPdgName, fMotherTrackID, fPosition, fStoreTrackPoints, fTime, fTrackID, fWavelength, kDSK, pos, PndGeoDskFLG::Propagate(), PndGeoDskFLG::reflect_threshold(), and tmpLVec.
Referenced by ProcessHits().
|
private |
Private method ProcessHitsParticle
Defines the action to be taken when Particle does a step inside the active volume. Creates and adds Particles to collection
vol | Pointer to the active volume |
-------------------------------------—calc thetaC
Definition at line 725 of file PndDsk.cxx.
References acos(), AddParticle(), PndStack::AddPoint(), alpha, Bool_t, cos(), Double_t, fabs(), fAngIn, fDetectorID, fDskParticleCollection, fEndEnergy, fEndMomentum, fEndPosition, fEndTime, fEnergy, fMomentum, fMotherPdgCode, fMotherPdgName, fMotherTrackID, fPdgCode, fPdgName, fPosition, fPrimaryHitAngle, fPrimaryHitMomentum, fThetaC, fTime, fTrackID, kDSK, Pi, res, PndDskParticle::SetFinalValues(), sqrt(), thickness, tmpLVec, and trapfrac.
Referenced by ProcessHits().
|
virtual |
Virtual method Register
Registers the collections in the ROOT manager.
Definition at line 195 of file PndDsk.cxx.
References fDskCerenkovCollection, fDskFLGHitArray, fDskParticleCollection, fDskTrackPointCollection, fStoreCerenkovs, fStoreFLGHits, fStoreParticles, and fStoreTrackPoints.
|
virtual |
Virtual method Reset
Clears the collections
Definition at line 232 of file PndDsk.cxx.
References fDskCerenkovCollection, fDskFLGHitArray, fDskParticleCollection, and fDskTrackPointCollection.
Referenced by EndOfEvent().
|
inline |
|
inline |
|
inline |
Definition at line 146 of file PndDsk.h.
References fStoreCerenkovs.
Referenced by PndMasterRunSim::CreateGeometryDefault(), emc_correction_data_production(), emc_correction_QA_data_production(), prod_sim(), QAmacro_stt_1(), rad_complete(), run0AllSysDPMbkg(), run_sim(), run_sim_complete(), run_sim_llbar_evtgen(), run_sim_stt_dpm(), run_sim_stt_evt(), run_sim_stt_evt_fix(), run_sim_sttcombi_dpm(), run_sim_sttcombi_evtgen(), run_sim_sttcombi_pgun(), run_sim_tpc_dpm(), run_sim_tpc_evt(), run_sim_tpccombi(), run_sim_tpccombi_dpm(), runLumiPixel0SimDPMDirect_all(), runMvdSim(), runSim(), runSimPions(), sim(), sim_complete(), sim_complete_newSTT(), sim_complete_pbarA(), sim_complete_runs(), sim_complete_vis(), sim_dsk(), sim_emc(), sim_evtgen(), sim_filter_ex1(), sim_muo_P8(), sim_radgrid(), sim_radlength_complete(), sim_rich(), sim_stt_bg(), sim_stt_signal1(), sim_stt_signal2(), sim_sttcombi_pgun(), sim_test(), sim_toy(), simExclusive(), simInclusive(), and tb_sim_complete().
|
inline |
Definition at line 147 of file PndDsk.h.
References fStoreParticles.
|
inline |
Definition at line 148 of file PndDsk.h.
References fStoreTrackPoints.
Referenced by PndMasterRunSim::CreateGeometryDefault(), emc_correction_data_production(), emc_correction_QA_data_production(), prod_sim(), QAmacro_stt_1(), rad_complete(), run0AllSysDPMbkg(), run_sim(), run_sim_complete(), run_sim_llbar_evtgen(), run_sim_stt_dpm(), run_sim_stt_evt(), run_sim_stt_evt_fix(), run_sim_sttcombi_dpm(), run_sim_sttcombi_evtgen(), run_sim_sttcombi_pgun(), run_sim_tpc_dpm(), run_sim_tpc_evt(), run_sim_tpccombi(), run_sim_tpccombi_dpm(), runLumiPixel0SimDPMDirect_all(), runMvdSim(), runSim(), runSimPions(), sim(), sim_complete(), sim_complete_newSTT(), sim_complete_pbarA(), sim_complete_runs(), sim_complete_vis(), sim_dsk(), sim_emc(), sim_evtgen(), sim_filter_ex1(), sim_muo_P8(), sim_radgrid(), sim_radlength_complete(), sim_rich(), sim_stt_bg(), sim_stt_signal1(), sim_stt_signal2(), sim_sttcombi_pgun(), sim_test(), sim_toy(), simExclusive(), simInclusive(), and tb_sim_complete().
void PndDsk::SetTrapFraction | ( | std::string | name | ) |
Definition at line 135 of file PndDsk.cxx.
References f, i, and trapfrac.
Referenced by Initialize().
|
private |
Energy when particle disappears.
Definition at line 228 of file PndDsk.h.
Referenced by ProcessHitsParticle().
|
private |
Whether to store FLGHits (default) or not.
Definition at line 193 of file PndDsk.h.
Referenced by ProcessHitsCerenkov().
|
private |
Definition at line 181 of file PndDsk.h.
Referenced by SetDebugLevel().
|
private |
Index of MCTrack.
Definition at line 197 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Global time when Cerenkov was detected [ns].
Definition at line 216 of file PndDsk.h.
Referenced by ProcessHitsCerenkov().
|
private |
Detectortype that registered the Cerenkov.
Definition at line 214 of file PndDsk.h.
Referenced by ProcessHitsCerenkov().
|
private |
Number of the Detector that registered the Cerenkov.
Definition at line 215 of file PndDsk.h.
Referenced by ProcessHitsCerenkov().
|
private |
translation of PDG code
Definition at line 213 of file PndDsk.h.
Referenced by ProcessHitsCerenkov().
|
private |
Debug level.
Definition at line 183 of file PndDsk.h.
Referenced by AddCerenkov(), GetCollection(), PndDsk(), ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), Register(), Reset(), and ~PndDsk().
|
private |
TrackPoint collection.
Definition at line 187 of file PndDsk.h.
Referenced by AddHit(), GetCollection(), PndDsk(), Register(), Reset(), and ~PndDsk().
|
private |
Cerenkov collection.
Definition at line 184 of file PndDsk.h.
Referenced by AddParticle(), GetCollection(), PndDsk(), ProcessHitsParticle(), Register(), Reset(), and ~PndDsk().
|
private |
Particle collection.
Definition at line 185 of file PndDsk.h.
Referenced by AddTrackPoint(), GetCollection(), PndDsk(), Register(), Reset(), and ~PndDsk().
|
private |
Track length since creation (without mothers) [cm].
Definition at line 202 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), and ProcessHitsCerenkov_FLG().
|
private |
Momentum when particle disappears.
Definition at line 226 of file PndDsk.h.
Referenced by ProcessHitsParticle().
|
private |
Time when particle disappears.
Definition at line 225 of file PndDsk.h.
Referenced by ProcessHitsParticle().
|
private |
PDG name according to fPdgCode.
Definition at line 223 of file PndDsk.h.
Referenced by ProcessHitsParticle().
|
private |
Position when particles disappears.
Definition at line 224 of file PndDsk.h.
Referenced by ProcessHitsParticle().
|
private |
PDG code of current particle.
Definition at line 206 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Definition at line 179 of file PndDsk.h.
Referenced by ConstructGeometry(), PndDsk(), ProcessHitsCerenkov_FLG(), and ~PndDsk().
|
private |
Global time (since event start) [ns].
Definition at line 201 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), and ProcessHitsCerenkov_FLG().
|
private |
Whether to calc Projected Way or not (default)
Definition at line 194 of file PndDsk.h.
Referenced by ProcessHitsCerenkov().
|
private |
Position [cm].
Definition at line 199 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Track ID of the particle that emitted this Cerenkov.
Definition at line 210 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
PDG code of the particle that emitted this Cerenkov.
Definition at line 211 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Vacuum wavelength hc/fEnergy [nm].
Definition at line 209 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Energy deposit [GeV].
Definition at line 204 of file PndDsk.h.
Referenced by DoNotTrackCerenkov(), and SetPDE().
|
private |
Photon Detection Efficiency [0-1, 2].
Definition at line 205 of file PndDsk.h.
Referenced by ProcessHits(), and ProcessHitsParticle().
|
private |
Angle between momentum of eachs first appearance.
Definition at line 222 of file PndDsk.h.
Referenced by ProcessHitsParticle().
|
private |
Detector ID (volume)
Definition at line 198 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Momentum when detected [eV].
Definition at line 218 of file PndDsk.h.
Referenced by ProcessHitsCerenkov().
|
private |
Angle at the moment of first appearance.
Definition at line 219 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), and ProcessHitsParticle().
|
private |
Angle to the z-Axis at first appearance.
Definition at line 220 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), and ProcessHitsParticle().
|
private |
DSK hits.
Definition at line 189 of file PndDsk.h.
Referenced by Register(), and SetStoreCerenkovs().
|
private |
Whether to store TrackPoints or not (default)
Definition at line 192 of file PndDsk.h.
Referenced by Register().
|
private |
Whether to store Cerenkovs (default) or not.
Definition at line 190 of file PndDsk.h.
Referenced by Register(), and SetStoreParticles().
|
private |
Whether to store Particles (default) or not.
Definition at line 191 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), Register(), and SetStoreTrackPoints().
|
private |
Definition at line 229 of file PndDsk.h.
Referenced by ProcessHitsParticle().
|
private |
Momentum [GeV].
Definition at line 200 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Whether to measure total reflection angle or not (default)
Definition at line 196 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Energy [eV / GeV].
Definition at line 207 of file PndDsk.h.
Referenced by DoNotTrackCerenkov(), ProcessHitsCerenkov(), and ProcessHitsCerenkov_FLG().
|
private |
Definition at line 231 of file PndDsk.h.
Referenced by ProcessHitsCerenkov(), ProcessHitsCerenkov_FLG(), and ProcessHitsParticle().
|
private |
Definition at line 177 of file PndDsk.h.
Referenced by ProcessHitsParticle(), and SetTrapFraction().