Belle II Software
release-08-01-10
|
Class providing a simple simulation of the CDC mainly for quick unit test checks. More...
#include <CDCSimpleSimulation.h>
Classes | |
struct | SimpleSimHit |
Structure to accomdate information about the individual hits during the simluation. More... | |
Public Member Functions | |
ConstVectorRange< CDCWireHit > | getWireHits () const |
Getter for the wire hits created in the simulation. | |
std::vector< CDCTrack > | simulate (const std::vector< CDCTrajectory3D > &trajectories3D) |
Propagates the trajectories through the CDC as without energy loss until they first leave the CDC. More... | |
CDCTrack | simulate (const CDCTrajectory3D &trajectory3D) |
Same as above for one trajectory. | |
std::vector< CDCTrack > | loadPreparedEvent () |
Fills the wire hits with a hard coded event from the real simulation. | |
double | getEventTime () const |
Getter for a global event time offset. | |
void | setEventTime (double eventTime) |
Setter for a global event time offset. | |
void | activateTOFDelay (bool activate=true) |
Activate the TOF time delay. | |
void | activateInWireSignalDelay (bool activate=true) |
Activate the in wire signal delay. | |
int | getMaxNHitOnWire () const |
Getter for the maximal number of hits that are allowed on each layer. | |
void | setMaxNHitOnWire (int maxNHitOnWire) |
Setter for the maximal number of hits that are allowed on each layer. | |
Private Member Functions | |
std::vector< CDCTrack > | constructMCTracks (int nMCTracks, std::vector< SimpleSimHit > simpleSimHits) |
Creates CDCWireHits and uses them to construct the true CDCTracks. More... | |
std::vector< SimpleSimHit > | createHits (const Helix &globalHelix, double arcLength2DOffset) const |
Generate hits for the given helix in starting from the two dimensional arc length. | |
std::vector< SimpleSimHit > | createHitsForLayer (const CDCWire &nearWire, const Helix &globalHelix, double arcLength2DOffset) const |
Generate connected hits for wires in the same layer close to the given wire. More... | |
SimpleSimHit | createHitForCell (const CDCWire &wire, const Helix &globalHelix, double arcLength2DOffset) const |
Generate a hit for the given wire. | |
Private Attributes | |
std::shared_ptr< const std::vector< CDCWireHit > > | m_sharedWireHits |
Space for the memory of the generated wire hits. | |
const double | s_nominalDriftLengthVariance = 0.000169 |
Default drift length variance. | |
const double | s_nominalPropSpeed = 27.25 |
Default in wire signal propagation speed - 27.25 cm / ns. | |
const double | s_nominalDriftSpeed = 4e-3 |
Default electron drift speed in cdc gas - 4 * 10^-3 cm / ns. | |
int | m_maxNHitOnWire = 0 |
Maximal number of hits allowed on each wire (0 means all). | |
double | m_eventTime = 0 |
A global event time. | |
bool | m_addTOFDelay = false |
Switch to activate the addition of the time of flight. | |
bool | m_addInWireSignalDelay = false |
Switch to activate the in wire signal delay. | |
double | m_driftLengthVariance = s_nominalDriftLengthVariance |
Variance by which the drift length should be smeared. | |
double | m_driftLengthSigma = std::sqrt(m_driftLengthVariance) |
Standard deviation by which the drift length should be smeared. | |
double | m_propSpeed = s_nominalPropSpeed |
Electrical current propagation speed in the wires. | |
double | m_driftSpeed = s_nominalDriftSpeed |
Electron drift speed in the cdc gas. | |
Class providing a simple simulation of the CDC mainly for quick unit test checks.
Most aspects of the detection are idealized
Nevertheless drift length a smeared by one gaussian distribution of fixed width to have a realistic check for the accuracy of fast fitting procedures in terms of their chi2 distributions.
Definition at line 44 of file CDCSimpleSimulation.h.
|
private |
Creates CDCWireHits and uses them to construct the true CDCTracks.
Sort the hits by the order of their occurance
Definition at line 89 of file CDCSimpleSimulation.cc.
|
private |
Generate connected hits for wires in the same layer close to the given wire.
Iter counter clockwise for more hits
Iter clockwise for more hits
Definition at line 274 of file CDCSimpleSimulation.cc.
std::vector< CDCTrack > simulate | ( | const std::vector< CDCTrajectory3D > & | trajectories3D | ) |
Propagates the trajectories through the CDC as without energy loss until they first leave the CDC.
trajectories3D | Ideal trajectories to be propagated. |
Assign mc trajectories to the tracks
Definition at line 48 of file CDCSimpleSimulation.cc.