FairRoot/PandaRoot
|
#include <PndDrc.h>
Public Member Functions | |
PndDrc () | |
PndDrc (const char *name, Bool_t active) | |
virtual | ~PndDrc () |
void | StopSecondaries (Bool_t ss=kFALSE) |
Kill secondaries at its production point. More... | |
void | StopChargedTrackAfterDIRC (Bool_t sctad=kTRUE) |
Kill charged track by exiting the DIRC to avoid it hitting the large EV. More... | |
void | SetDetEffAtProduction (Bool_t dep=kFALSE) |
Kill photons at production point according to the detector efficiency distribution. More... | |
void | SetTransportEffAtProduction (Bool_t tra=kFALSE) |
Kill photons at production point according to the transport efficiency distribution. More... | |
void | SetMirrorReal (Bool_t mir=kTRUE) |
Choose between ideal and real mirror: More... | |
void | SetBlackLensSides (Bool_t lesi=kFALSE) |
void | SetStopTime (Double_t ti=-1.) |
Set time after which photons are killed. More... | |
void | SetOptionForLUT (Bool_t oplu=kFALSE) |
virtual void | Initialize () |
void | SetPersistency (Bool_t v=kTRUE) |
virtual Bool_t | ProcessHits (FairVolume *vol=0) |
virtual void | FinishPrimary () |
virtual void | EndOfEvent () |
virtual void | BeginEvent () |
virtual void | Register () |
virtual TClonesArray * | GetCollection (Int_t iColl) const |
virtual void | Print () const |
virtual void | Reset () |
virtual void | CopyClones (TClonesArray *clPD1, TClonesArray *clPD2, TClonesArray *clBar1, TClonesArray *clBar2, Int_t offset) |
void | FinishRun () |
virtual void | ConstructGeometry () |
virtual void | ConstructOpGeometry () |
bool | CheckIfSensitive (std::string name) |
void | NumberOfBounces (TVector3, TVector3, Int_t, Int_t *, Int_t *, Double_t *, Double_t *) |
Double_t | FindOutPoint (Double_t, Double_t, Double_t, Double_t *, Bool_t) |
PndDrcPDPoint * | AddHit (Int_t trackID, Int_t copyNo, Int_t mcpId, TVector3 pos, TVector3 mom, TVector3 momAtEV, Double_t timeAtEV, Double_t time, Double_t length, Int_t pdgCode, Int_t eventID) |
PndDrcEVPoint * | AddEVHit (Int_t trackID, Int_t copyNo, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Int_t pdgCode, Int_t eventID, Double_t timestart, Double_t timestartEV, Double_t VeloPhoton, TVector3 normal) |
PndDrcBarPoint * | AddBarHit (Int_t trackID, Int_t copyNo, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Int_t pdgCode, Double_t thetaC, Int_t nBar, Int_t eventID, Double_t mass) |
void | SetRunCherenkov (Bool_t ch) |
Public Attributes | |
std::vector< std::string > | fListOfSensitives |
Private Member Functions | |
void | ResetParameters () |
PndDrc::PndDrc | ( | ) |
Default constructor
Definition at line 67 of file PndDrc.cxx.
References fGeoH, fListOfSensitives, and PndGeoHandling::Instance().
PndDrc::PndDrc | ( | const char * | name, |
Bool_t | active | ||
) |
Standard constructor.
name | detetcor name |
active | sensitivity flag |
Definition at line 131 of file PndDrc.cxx.
References fGeoH, fListOfSensitives, and PndGeoHandling::Instance().
|
virtual |
Destructor
Definition at line 197 of file PndDrc.cxx.
References fDrcBarCollection, fDrcEVCollection, fDrcPDCollection, and fGeo.
PndDrcBarPoint * PndDrc::AddBarHit | ( | Int_t | trackID, |
Int_t | copyNo, | ||
TVector3 | pos, | ||
TVector3 | mom, | ||
Double_t | time, | ||
Double_t | length, | ||
Int_t | pdgCode, | ||
Double_t | thetaC, | ||
Int_t | nBar, | ||
Int_t | eventID, | ||
Double_t | mass | ||
) |
Definition at line 896 of file PndDrc.cxx.
References fDrcBarCollection.
Referenced by ProcessHits().
PndDrcEVPoint * PndDrc::AddEVHit | ( | Int_t | trackID, |
Int_t | copyNo, | ||
TVector3 | pos, | ||
TVector3 | mom, | ||
Double_t | time, | ||
Double_t | length, | ||
Int_t | pdgCode, | ||
Int_t | eventID, | ||
Double_t | timestart, | ||
Double_t | timestartEV, | ||
Double_t | VeloPhoton, | ||
TVector3 | normal | ||
) |
Definition at line 875 of file PndDrc.cxx.
References fDrcEVCollection.
Referenced by ProcessHits().
PndDrcPDPoint * PndDrc::AddHit | ( | Int_t | trackID, |
Int_t | copyNo, | ||
Int_t | mcpId, | ||
TVector3 | pos, | ||
TVector3 | mom, | ||
TVector3 | momAtEV, | ||
Double_t | timeAtEV, | ||
Double_t | time, | ||
Double_t | length, | ||
Int_t | pdgCode, | ||
Int_t | eventID | ||
) |
Definition at line 853 of file PndDrc.cxx.
References fDrcBarCollection, fDrcPDCollection, mom, and pos.
Referenced by ProcessHits().
|
virtual |
bool PndDrc::CheckIfSensitive | ( | std::string | name | ) |
|
virtual |
|
virtual |
Definition at line 679 of file PndDrc.cxx.
References Double_t, fSetBlackLens, fTakeRealReflectivity, and i.
|
virtual |
Virtual method CopyClones
Copies the hit collection with a given track index offset
cl1 | Origin |
cl2 | Target |
offset | Index offset |
Definition at line 630 of file PndDrc.cxx.
|
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 579 of file PndDrc.cxx.
References Print(), and Reset().
Double_t PndDrc::FindOutPoint | ( | Double_t | x0, |
Double_t | xEn, | ||
Double_t | a, | ||
Double_t * | NN, | ||
Bool_t | |||
) |
Definition at line 545 of file PndDrc.cxx.
References a, Double_t, m, and n.
Referenced by NumberOfBounces().
|
virtual |
Definition at line 497 of file PndDrc.cxx.
void PndDrc::FinishRun | ( | ) |
Definition at line 584 of file PndDrc.cxx.
|
virtual |
Accessor to the hit collection
Definition at line 596 of file PndDrc.cxx.
References fDrcBarCollection, fDrcEVCollection, and fDrcPDCollection.
|
virtual |
Definition at line 218 of file PndDrc.cxx.
References PndGeoDrc::barBoxZDown(), PndGeoDrc::barBoxZUp(), PndGeoDrc::barHalfThick(), PndGeoDrc::barNum(), PndGeoDrc::BarWidth(), PndGeoDrc::BBoxGap(), PndGeoDrc::BBoxNum(), PndGeoHandling::CreateUniqueSensorId(), Double_t, fbarnum, fbarwidth, fbbGap, fbbnum, fCollectionEff, fDetEff, fDetEffAtProduction, fdphi, fEfficiencyR, fGeo, fGeoH, fhthick, fListOfSensitives, fphi0, fpi, fpipehAngle, fradius, fRunCherenkov, fzdown, fzup, gGeoManager, i, Initialize(), lambda(), Pi, PndGeoDrc::PipehAngle(), PndGeoHandling::PrintSensorNames(), and PndGeoDrc::radius().
void PndDrc::NumberOfBounces | ( | TVector3 | start, |
TVector3 | dir, | ||
Int_t | barId, | ||
Int_t * | n1, | ||
Int_t * | n2, | ||
Double_t * | alpha1, | ||
Double_t * | alpha2 | ||
) |
Definition at line 500 of file PndDrc.cxx.
References cos(), Double_t, fabs(), fbarwidth, fGeoH, fhthick, FindOutPoint(), fpi, fzdown, fzup, PndGeoHandling::MasterToLocalShortId(), and sin().
Referenced by ProcessHits().
|
virtual |
Virtual method Print
Screen output of hit collection.
Definition at line 605 of file PndDrc.cxx.
References fDrcBarCollection, fDrcEVCollection, fDrcPDCollection, and i.
Referenced by EndOfEvent().
|
virtual |
Virtual method ProcessHits
Defines the action to be taken when a step is inside the active volume. Creates PndDrcPoints and PndDrcMirrorPoints and adds them to the collections.
vol | Pointer to the active volume |
Definition at line 291 of file PndDrc.cxx.
References acos(), AddBarHit(), AddEVHit(), AddHit(), PndStack::AddPoint(), b, cos(), Double_t, fabs(), fDetEff, fDetEffAtProduction, fEventID, fGeo, fGeoH, fLength, fLengthEV, fMass, fMom, fMomAtEV, fNBar, fOptionForLUT, fPdgCode, fPhoMaxTime, fpi, fPos, fRand, fRunCherenkov, fStopChargedTrackAfterDIRC, fStopSecondaries, fStopTime, fThetaC, fTime, fTimeAtEV, fTimeAtEVEntrance, fTimeStart, fTrackID, fTransportEffAtProduction, fVeloPhoton, PndGeoHandling::GetShortID(), gGeoManager, kDRC, lambda(), PndGeoHandling::MasterToLocalShortId(), nam, PndGeoDrc::nQuartz(), num, NumberOfBounces(), ResetParameters(), PndGeoDrc::Roughness(), s, sqrt(), CAMath::Sqrt(), and TString.
|
virtual |
Virtual method Register
Registers the hit collection in the ROOT manager.
Definition at line 589 of file PndDrc.cxx.
References fDrcBarCollection, fDrcEVCollection, fDrcPDCollection, and fPersistency.
|
virtual |
Virtual method Reset
Clears the hit collection
Definition at line 622 of file PndDrc.cxx.
References fDrcBarCollection, fDrcEVCollection, fDrcPDCollection, and fPosIndex.
Referenced by EndOfEvent().
|
inlineprivate |
|
inline |
Definition at line 94 of file PndDrc.h.
References fSetBlackLens.
Referenced by QAmacro_drc_1(), sim(), and simLut().
|
inline |
Kill photons at production point according to the detector efficiency distribution.
dep |
NOTE! Transport efficiency can not be used together with Detector efficiency: it can not be used like: SetDetEffAtProduction(kTRUE) SetTransportEffAtProduction(kTRUE)
at least one of them should be kFALSE
Definition at line 72 of file PndDrc.h.
References fDetEffAtProduction.
Referenced by QAmacro_drc_1(), sim(), sim_dirc(), and simLut().
|
inline |
Choose between ideal and real mirror:
mir | kFALSE - take ideal mirror, reflectivity = 1 for photons within energy range 1..10 eV kTRUE - take real mirror, reflectivity has realistic values for photons within energy range 1.907..6.199 eV |
Definition at line 92 of file PndDrc.h.
References fTakeRealReflectivity.
Referenced by QAmacro_drc_1(), sim(), sim_dirc(), and simLut().
|
inline |
Virtual method Initialize Initialises detector. Stores volume IDs for DIRC detector and mirror.
Definition at line 109 of file PndDrc.h.
References fOptionForLUT.
Referenced by QAmacro_drc_1(), sim(), and simLut().
|
inline |
|
inline |
Definition at line 222 of file PndDrc.h.
References fRunCherenkov.
Referenced by PndMasterRunSim::CreateGeometryDay1(), PndMasterRunSim::CreateGeometryDefault(), PndMasterRunSim::CreateGeometryPhase1(), emc_correction_data_production(), emc_correction_QA_data_production(), mvdgem_sim(), prod_sim(), QAmacro_drc_1(), 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(), 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(), run_sim_tpccombi_evtgen(), run_sim_tpccombi_pgun(), runLumiPixel0SimDPMDirect_all(), runMvdSim(), runSim(), runSimPions(), sim(), sim_all(), sim_BARREL(), sim_complete(), sim_complete_newSTT(), sim_complete_pbarA(), sim_complete_runs(), sim_complete_vis(), sim_dirc(), sim_dirc_dpm(), sim_dirc_evtgen(), sim_emc(), sim_emc_test(), sim_evtgen(), sim_filter_ex1(), sim_muo_P8(), sim_muo_test(), sim_radgrid(), sim_radlength_complete(), sim_rich(), sim_stt_bg(), sim_stt_signal1(), sim_stt_signal2(), sim_sttcombi_pgun(), sim_test(), sim_theta(), sim_toy(), SimComplete(), simExclusive(), simInclusive(), simLut(), and tb_sim_complete().
|
inline |
Set time after which photons are killed.
ti | The time (ns) |
Definition at line 99 of file PndDrc.h.
References fPhoMaxTime, and fStopTime.
Referenced by QAmacro_drc_1(), sim(), sim_dirc(), and simLut().
|
inline |
Kill photons at production point according to the transport efficiency distribution.
tra | NOTE! Transport efficiency can not be used together with Detector efficiency: it can not be used like: SetDetEffAtProduction(kTRUE) SetTransportEffAtProduction(kTRUE) |
at least one of them should be kFALSE
Definition at line 85 of file PndDrc.h.
References fTransportEffAtProduction.
Referenced by QAmacro_drc_1(), and sim().
|
inline |
Kill charged track by exiting the DIRC to avoid it hitting the large EV.
sctad |
Definition at line 58 of file PndDrc.h.
References fStopChargedTrackAfterDIRC.
Referenced by sim().
|
inline |
Kill secondaries at its production point.
ss |
Definition at line 53 of file PndDrc.h.
References fStopSecondaries.
Referenced by QAmacro_drc_1(), sim(), sim_dirc(), and simLut().
|
private |
Definition at line 253 of file PndDrc.h.
Referenced by ResetParameters().
|
private |
Definition at line 238 of file PndDrc.h.
Referenced by Initialize().
|
private |
Definition at line 241 of file PndDrc.h.
Referenced by Initialize(), and NumberOfBounces().
|
private |
Definition at line 235 of file PndDrc.h.
Referenced by Initialize().
|
private |
Definition at line 237 of file PndDrc.h.
Referenced by Initialize().
|
private |
Definition at line 272 of file PndDrc.h.
Referenced by Initialize().
|
private |
Definition at line 268 of file PndDrc.h.
Referenced by Initialize(), and ProcessHits().
|
private |
Detector Efficiency as a function of photon wavelength.
Definition at line 269 of file PndDrc.h.
Referenced by Initialize(), ProcessHits(), and SetDetEffAtProduction().
|
private |
Definition at line 240 of file PndDrc.h.
Referenced by Initialize().
|
private |
Hit collection.
Definition at line 289 of file PndDrc.h.
Referenced by AddBarHit(), AddHit(), GetCollection(), Print(), Register(), Reset(), and ~PndDrc().
|
private |
Hit collection.
Definition at line 288 of file PndDrc.h.
Referenced by AddEVHit(), GetCollection(), Print(), Register(), Reset(), and ~PndDrc().
|
private |
Definition at line 287 of file PndDrc.h.
Referenced by AddHit(), GetCollection(), Print(), Register(), Reset(), and ~PndDrc().
|
private |
Definition at line 265 of file PndDrc.h.
Referenced by Initialize().
|
private |
Hit collection in the bar.
Definition at line 291 of file PndDrc.h.
Referenced by BeginEvent(), and ProcessHits().
|
private |
Definition at line 282 of file PndDrc.h.
Referenced by Initialize(), ProcessHits(), and ~PndDrc().
|
private |
Definition at line 243 of file PndDrc.h.
Referenced by Initialize(), NumberOfBounces(), PndDrc(), and ProcessHits().
|
private |
Definition at line 233 of file PndDrc.h.
Referenced by Initialize(), and NumberOfBounces().
|
private |
|
private |
std::vector<std::string> PndDrc::fListOfSensitives |
Definition at line 179 of file PndDrc.h.
Referenced by CheckIfSensitive(), Initialize(), and PndDrc().
|
private |
MC volume ID of drc.
Definition at line 257 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
position
Definition at line 249 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
Definition at line 258 of file PndDrc.h.
Referenced by ProcessHits().
|
private |
Definition at line 254 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
Definition at line 280 of file PndDrc.h.
Referenced by ProcessHits(), and SetOptionForLUT().
|
private |
Pointer to basic DRC geometry data.
Definition at line 284 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
Definition at line 222 of file PndDrc.h.
Referenced by Register(), and SetPersistency().
|
private |
Definition at line 239 of file PndDrc.h.
Referenced by Initialize().
|
private |
Definition at line 275 of file PndDrc.h.
Referenced by ProcessHits(), and SetStopTime().
|
private |
Definition at line 229 of file PndDrc.h.
Referenced by Initialize(), NumberOfBounces(), and ProcessHits().
|
private |
Definition at line 234 of file PndDrc.h.
Referenced by Initialize().
|
private |
Definition at line 248 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
Definition at line 255 of file PndDrc.h.
Referenced by CopyClones(), and Reset().
|
private |
Definition at line 232 of file PndDrc.h.
Referenced by Initialize().
|
private |
Definition at line 271 of file PndDrc.h.
Referenced by ProcessHits().
|
private |
///< converter for detector names
Definition at line 245 of file PndDrc.h.
Referenced by Initialize(), ProcessHits(), and SetRunCherenkov().
|
private |
Definition at line 279 of file PndDrc.h.
Referenced by ConstructOpGeometry(), and SetBlackLensSides().
|
private |
Definition at line 278 of file PndDrc.h.
Referenced by ProcessHits(), and StopChargedTrackAfterDIRC().
|
private |
Definition at line 277 of file PndDrc.h.
Referenced by ProcessHits(), and StopSecondaries().
|
private |
Definition at line 274 of file PndDrc.h.
Referenced by ProcessHits(), and SetStopTime().
|
private |
Definition at line 276 of file PndDrc.h.
Referenced by ConstructOpGeometry(), and SetMirrorReal().
|
private |
Definition at line 285 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
momentum
Definition at line 250 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
Definition at line 259 of file PndDrc.h.
Referenced by ProcessHits().
|
private |
Definition at line 260 of file PndDrc.h.
Referenced by ProcessHits().
|
private |
Definition at line 261 of file PndDrc.h.
Referenced by ProcessHits().
|
private |
Switch ON/OFF Cherenkov propagation.
Definition at line 246 of file PndDrc.h.
Referenced by ProcessHits(), and ResetParameters().
|
private |
Definition at line 270 of file PndDrc.h.
Referenced by ProcessHits(), and SetTransportEffAtProduction().
|
private |
Definition at line 262 of file PndDrc.h.
Referenced by ProcessHits().
|
private |
Definition at line 231 of file PndDrc.h.
Referenced by Initialize(), and NumberOfBounces().
|
private |
Definition at line 230 of file PndDrc.h.
Referenced by Initialize(), and NumberOfBounces().