13 #ifndef TRGCDCWire_FLAG_
14 #define TRGCDCWire_FLAG_
17 #include "CLHEP/Geometry/Vector3D.h"
18 #include "CLHEP/Geometry/Point3D.h"
19 #include "trg/trg/Signal.h"
20 #include "trg/cdc/Cell.h"
21 #include "trg/cdc/Layer.h"
23 #ifdef TRGCDC_SHORT_NAMES
24 #define TCWire TRGCDCWire
34 typedef HepGeom::Vector3D<double>
Vector3D;
36 #define WireInnerLeft 0
38 #define WireInnerRight 1
44 #define WireOuterLeft 4
46 #define WireOuterRight 5
48 #define MaxNeighbors 6
52 class TRGCDCWireHitMC;
53 class TRGCDCTrackSegment;
94 std::string
name(
void)
const override;
97 void dump(
const std::string& message = std::string(
""),
98 const std::string& prefix = std::string(
""))
const override;
103 void clear(
void)
override;
169 if (
neighbor(2) == & w)
return true;
170 else if (
neighbor(3) == & w)
return true;
178 for (
unsigned i = 0; i < 7; i++)
197 const unsigned nw = l.
nCells();
217 const unsigned nw = l.
nCells();
A class to represent a wire hit in CDC.
A class to represent a wire in CDC.
A class to represent a cell layer.
A class to represent a MC wire hit in CDC.
A class to represent a wire hit in CDC.
A class to represent a wire in CDC.
TRGSignal _signal
Trigger output.
std::vector< const TRGCDCWireHitMC * > _mcHits
MC wire hit.
The instance of TRGCDC is a singleton.
A class to represent a digitized signal. Unit is nano second.
A class to represent a digitized signal. Unit is nano second.
bool adjacent(const TRGCDCWire &) const
returns true if a given wire is adjacent.
HepGeom::Vector3D< double > Vector3D
3D Vector
void addSignal(const TRGSignal &newSignal)
set signal |= newSignal
HepGeom::Point3D< double > Point3D
3D point
const HepGeom::Point3D< double > & forwardPosition(void) const
returns position in forward endplate.
virtual ~TRGCDCWire()
Destructor.
bool consective(const TRGCDCWire &) const
returns true if a given wire is consective in a layer.
const HepGeom::Point3D< double > & backwardPosition(void) const
returns position in backward endplate.
const TRGCDCCellHit * hit(void) const
returns a pointer to a TRGCDCCellHit.
const TRGSignal & signal(void) const override
returns an input to the trigger. This is sync'ed to 1GHz clock.
const TRGCDCWire * neighbor(unsigned) const
returns a pointer to a neighbor wire. This function is expensive.
const TRGCDCWireHit * hit(void) const
returns a pointer to a TRGCDCWireHit.
std::string name(void) const override
returns name.
int localIdForPlus(void) const
returns localId but if maxLocalId, return -1.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const override
dumps debug information.
TRGCDCWire(unsigned id, unsigned localId, const TRGCDCLayer &, const HepGeom::Point3D< double > &forwardPosition, const HepGeom::Point3D< double > &backwardPosition, const TRGClock &clock)
Constructor.
void clear(void) override
clears information.
const TRGCDCLayer & layer(void) const
returns a pointer to a layer.
unsigned nCells(void) const
returns # of cells.
int localIdForMinus(void) const
returns localId but if 0, return maxLocalId + 1.
unsigned localId(void) const
returns local id in a layer.
Abstract base class for different kinds of events.