14 #define TRG_SHORT_NAMES
15 #define TRGCDC_SHORT_NAMES
17 #include "framework/datastore/StoreArray.h"
18 #include "mdst/dataobjects/MCParticle.h"
19 #include "cdc/dataobjects/CDCSimHit.h"
20 #include "cdc/dataobjects/CDCHit.h"
21 #include "trg/trg/Utilities.h"
22 #include "trg/cdc/Wire.h"
23 #include "trg/cdc/CellHit.h"
24 #include "trg/cdc/TrackMC.h"
25 #include "trg/cdc/WireHitMC.h"
37 unsigned indexCDCSimHit,
38 unsigned indexMCParticle,
42 float driftRightError,
47 _xyPosition(w.xyPosition()),
50 _iCDCHit(indexCDCHit),
51 _iCDCSimHit(indexCDCSimHit),
52 _iMCParticle(indexMCParticle)
60 if (w.axial())
_state |= CellHitAxial;
61 else _state |= CellHitStereo;
71 const std::string& pre)
const
75 if (msg.find(
"state") != std::string::npos ||
76 msg.find(
"detail") != std::string::npos) {
77 std::cout <<
",state";
78 TRGUtil::bitDisplay(
_state);
79 if (
track()) std::cout <<
",trk ";
81 if (msg.find(
"position") != std::string::npos ||
82 msg.find(
"detail") != std::string::npos) {
85 if (msg.find(
"drift") != std::string::npos ||
86 msg.find(
"detail") != std::string::npos) {
87 if (
_state & CellHitLeftMask) std::cout <<
", L";
88 if (
_state & CellHitRightMask) std::cout <<
", R";
92 if (msg.find(
"mc") != std::string::npos ||
93 msg.find(
"detail") != std::string::npos) {
99 std::cout << std::endl;
105 static const HepGeom::Vector3D<double> HepXHat(1.0, 0.0, 0.0);
106 static const HepGeom::Vector3D<double> HepYHat(0.0, 1.0, 0.0);
107 static const HepGeom::Vector3D<double> HepZHat(0.0, 0.0, 1.0);
110 if (lr == CellHitLeft) {
125 if ((* a)->_cell.id() > (* b)->_cell.id())
127 else if ((* a)->_cell.id() == (* b)->_cell.id())