 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/eventdata/hits/CDCWireHit.h>
14 #include <tracking/trackFindingCDC/utilities/VectorRange.h>
16 #include <tracking/trackFindingCDC/geometry/Vector3D.h>
25 namespace TrackFindingCDC {
29 class CDCTrajectory3D;
46 class CDCSimpleSimulation {
73 double arcLength2D = NAN,
74 double trueDriftLength = NAN) :
113 std::vector<CDCTrack>
simulate(
const std::vector<CDCTrajectory3D>& trajectories3D);
123 std::vector<CDCTrack>
constructMCTracks(
int nMCTracks, std::vector<SimpleSimHit> simpleSimHits);
126 std::vector<SimpleSimHit>
createHits(
const Helix& globalHelix,
double arcLength2DOffset)
const;
130 const Helix& globalHelix,
131 double arcLength2DOffset)
const;
135 const Helix& globalHelix,
136 double arcLength2DOffset)
const;
SimpleSimHit createHitForCell(const CDCWire &wire, const Helix &globalHelix, double arcLength2DOffset) const
Generate a hit for the given wire.
double m_driftLengthSigma
Standard deviation by which the drift length should be smeared.
std::vector< CDCTrack > constructMCTracks(int nMCTracks, std::vector< SimpleSimHit > simpleSimHits)
Creates CDCWireHits and uses them to construct the true CDCTracks.
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.
Class representing a sequence of three dimensional reconstructed hits.
double m_propSpeed
Electrical current propagation speed in the wires.
size_t m_iMCTrack
Memory for the true index of the track this hit is contained in.
double m_driftSpeed
Electron drift speed in the cdc gas.
Extension of the generalized circle also caching the perigee coordinates.
double m_eventTime
A global event time.
bool m_addInWireSignalDelay
Switch to activate the in wire signal delay.
int m_maxNHitOnWire
Maximal number of hits allowed on each wire (0 means all).
Vector3D m_pos3D
Memory for the true position on the track closest to the wire.
std::vector< SimpleSimHit > createHits(const Helix &globalHelix, double arcLength2DOffset) const
Generate hits for the given helix in starting from the two dimensional arc length.
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.
std::shared_ptr< const std::vector< CDCWireHit > > m_sharedWireHits
Space for the memory of the generated wire hits.
ERightLeft m_rlInfo
Memory for the true right left passage information.
ConstVectorRange< CDCWireHit > getWireHits() const
Getter for the wire hits created in the simulation.
void setEventTime(double eventTime)
Setter for a global event time offset.
Abstract base class for different kinds of events.
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.
double getEventTime() const
Getter for a global event time offset.
A three dimensional vector.
const double s_nominalDriftSpeed
Default electron drift speed in cdc gas - 4 * 10^-3 cm / ns.
const double s_nominalPropSpeed
Default in wire signal propagation speed - 27.25 cm / ns.
bool m_addTOFDelay
Switch to activate the addition of the time of flight.
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
A pair of iterators usable with the range base for loop.
Structure to accomdate information about the individual hits during the simluation.
CDCWireHit m_wireHit
Memory for the wire hit instance that will be given to the reconstruction.
void setMaxNHitOnWire(int maxNHitOnWire)
Setter for the maximal number of hits that are allowed on each layer.
double m_arcLength2D
Memory for the true two dimensional arc length on the helix to this hit.
Class representing a sense wire in the central drift chamber.
const Vector3D & getRefPos3D() const
The three dimensional reference position of the underlying wire.
const double s_nominalDriftLengthVariance
Default drift length variance.
double m_trueDriftLength
Memory for the true drift length from the true position to the wire.
Class representing a hit wire in the central drift chamber.
SimpleSimHit(const CDCWireHit &wireHit, size_t iMCTrack, ERightLeft rlInfo)
Constructor from limited truth information Mainly used by the manually prepared event.
Particle full three dimensional trajectory.
std::vector< CDCTrack > loadPreparedEvent()
Fills the wire hits with a hard coded event from the real simulation.
double m_driftLengthVariance
Variance by which the drift length should be smeared.