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
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;
185 if (
neighbor(2) == & w)
return true;
186 else if (
neighbor(3) == & w)
return true;
194 for (
unsigned i = 0; i < 7; i++)
213 const unsigned nw = l.
nCells();
233 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.
TRGSignal _signal_adc
Trigger output. with adc cut.
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.
void clear(void) override
clears information.
const TRGCDCLayer & layer(void) const
returns a pointer to a layer.
unsigned nCells(void) const
returns # of cells.
const TRGSignal & signal_adc(void) const override
returns an input to the trigger. This is sync'ed to 1GHz clock.
int localIdForMinus(void) const
returns localId but if 0, return maxLocalId + 1.
unsigned localId(void) const
returns local id in a layer.
void addSignal_adc(const TRGSignal &newSignal)
set signal |= newSignal
Abstract base class for different kinds of events.