13#ifndef TRGCDCSegment_FLAG_
14#define TRGCDCSegment_FLAG_
17#include "trg/cdc/LUT.h"
18#include "trg/cdc/Cell.h"
20#ifdef TRGCDC_SHORT_NAMES
21#define TCSegment TRGCDCSegment
35 class TRGCDCSegmentHit;
36 class CDCTriggerSegmentHit;
48 const std::string& TSLUTFile,
49 const std::vector<const TRGCDCWire*>&
wires);
57 const std::vector<const TRGCDCWire*>&
wires(
void)
const;
60 std::string
name(
void)
const override;
81 const std::vector<const CDCTriggerSegmentHit*>
storeHits(
void)
const;
114 void dump(
const std::string& message = std::string(
""),
115 const std::string& prefix = std::string(
""))
const override;
131 nStereo(
const std::vector<const TRGCDCSegment*>& list);
134 virtual bool hasMember(
const std::string& a)
const override;
139 void clear(
void)
override;
142 void simulate(
bool clockSimulation,
bool logicLUTFlag,
143 const std::string& cdcCollectionName = std::string(
""),
144 const std::string& tsCollectionName = std::string(
""));
159 std::string tsCollectionName);
182 std::vector<const TRGCDCWireHit*>
_hits;
197 const std::vector<const TRGCDCWire*>&
250 const std::vector<const CDCTriggerSegmentHit*>
Combination of several CDCHits to a track segment hit for the trigger.
A class to represent a wire hit in CDC.
A class to represent a wire in CDC.
A class to use LUTs for TRGCDC.
A class to represent a cell layer.
A class to represent a track segment hit in CDC.
A class to represent a wire in CDC.
std::vector< const TRGCDCWire * > _wires
LookUp Table.
std::vector< const CDCTriggerSegmentHit * > _storeHits
list of DataStore hits.
TRGSignal _signal
Trigger signal.
void initialize(bool fevtTime)
initilize variables.
std::vector< const TRGCDCWireHit * > _hits
Wire hits.
std::string m_TSLUTFileName
TS LUT file name.
TRGCDCLUT * m_TSLUT
LookUp Table. 0: no hit, 1: right, 2: left, 3: not determined.
static unsigned nStereo(const std::vector< const TRGCDCSegment * > &list)
returns axial segments.
TRGSignal _signal_adc
Trigger signal.
const TRGCDCWire * _center
Center wire.
A class to represent a wire in CDC.
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.
virtual bool hasMember(const std::string &a) const override
returns true this has member named a.
const TRGCDCWire & center(void) const
returns a center wire.
int priorityPosition(void) const
return priority cell position in TSHit. 0: no hit, 3: 1st priority, 1: 2nd right, 2: 2nd left
float fastestTime(void) const
return fastest time in TSHit.
unsigned id(void) const
returns id.
void addStoreHit(const CDCTriggerSegmentHit *)
sets a pointer to a CDCTriggerSegmentHit.
virtual ~TRGCDCSegment()
Destructor.
void simulateWithoutClock(bool logicLUTFlag)
simulates time-indegrated TF hit
void simulateWithClock(std::string cdcCollectionName, std::string tsCollectionName)
simulates TF hit time-dependently
unsigned hitPattern(void) const
returns hit pattern.
const TRGCDCCellHit * hit(void) const
returns a pointer to a TRGCDCCellHit.
const TRGSignal & signal(void) const override
returns trigger output. Null will returned if no signal.
const TRGCDCWire & priority(void) const
returns priority wire.
void initialize(void)
initilize variables.
std::string name(void) const override
returns name.
unsigned lutPattern(void) const
hit pattern containing bit for priority position
void simulate(bool clockSimulation, bool logicLUTFlag, const std::string &cdcCollectionName=std::string(""), const std::string &tsCollectionName=std::string(""))
simulates TF hit using wire information.
const TRGCDCWire * operator[](unsigned id) const
returns a wire.
const TRGCDCLUT * LUT(void) const
returns LUT
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 std::vector< const CDCTriggerSegmentHit * > storeHits(void) const
returns a pointer to a CDCTriggerSegmentHit.
const TRGCDCLayer & layer(void) const
returns a pointer to a layer.
const std::vector< const TRGCDCWire * > & wires(void) const
returns a vector containing pointers to a wire.
float priorityTime(void) const
return priority time in TSHit.
unsigned hitPattern_adc(void) const
returns hit pattern with adc cut.
float foundTime(void) const
return found time in TSHit.
const TRGSignal & signal_adc(void) const override
returns trigger output. Null will returned if no signal.
const TRGCDCSegmentHit * hit(void) const
returns a pointer to a TRGCDCSegmentHit.
Abstract base class for different kinds of events.