13#ifndef TRGCDCCell_FLAG_
14#define TRGCDCCell_FLAG_
16#include "CLHEP/Geometry/Vector3D.h"
17#include "CLHEP/Geometry/Point3D.h"
18#include "trg/trg/Signal.h"
19#include "trg/cdc/Layer.h"
21#ifdef TRGCDC_SHORT_NAMES
22#define TCCell TRGCDCCell
56 unsigned id(
void)
const;
80 unsigned state(
void)
const;
83 bool axial(
void)
const;
95 virtual std::string
name(
void)
const = 0;
98 virtual void dump(
const std::string& message = std::string(
""),
99 const std::string& prefix = std::string(
""))
const;
137 virtual bool hasMember(
const std::string& a)
const;
155 unsigned state(
unsigned newState);
158 virtual void clear(
void);
286 std::cout <<
"TRGCDCCell::innerPart ... position not defined" << std::endl;
287 if (
layerId() < 14)
return true;
295 std::cout <<
"TRGCDCCell::mainPart ... position not defined" << std::endl;
296 if (
layerId() > 13)
return true;
A class to represent a wire hit in CDC.
A class to represent a wire in CDC.
const HepGeom::Point3D< double > _forwardPosition
Wire forward position.
const HepGeom::Point3D< double > _xyPosition
Wire center(?) position.
const unsigned _localId
Local ID.
virtual const TRGSignal & signal(void) const =0
returns trigger output. Null will returned if no signal.
const HepGeom::Point3D< double > _backwardPosition
Wire backward position.
const TRGCDCCellHit * _hit
Cell hit.
virtual std::string name(void) const =0
returns name.
const Vector3D _direction
Direction vector.
virtual const TRGSignal & signal_adc(void) const =0
returns trigger output. Null will returned if no signal.
const TRGCDCLayer & _layer
Layer.
unsigned _state
Status in this event.
A class to represent a cell layer.
The instance of TRGCDC is a singleton.
A class to represent a digitized signal. Unit is nano second.
HepGeom::Vector3D< double > Vector3D
3D Vector
HepGeom::Point3D< double > Point3D
3D point
float cellSize(void) const
calculates position and direction vector with sag correction.
const HepGeom::Point3D< double > & forwardPosition(void) const
returns position in forward endplate.
virtual void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
bool innerPart(void) const
returns true if this wire is in the inner part.
bool mainPart(void) const
returns true if this wire is in the main part.
unsigned id(void) const
returns id.
const Vector3D & direction(void) const
returns direction vector of the wire.
virtual ~TRGCDCCell()
Destructor.
unsigned layerId(void) const
returns layer id.
unsigned localLayerId(void) const
returns local layer id in a super layer.
const HepGeom::Point3D< double > & backwardPosition(void) const
returns position in backward endplate.
unsigned superLayerId(void) const
returns super layer id.
const TRGCDCCellHit * hit(void) const
returns a pointer to a TRGCDCCellHit.
unsigned axialStereoSuperLayerId(void) const
returns id of axial or stereo super layer id.
virtual bool hasMember(const std::string &a) const
returns true this has member named a.
bool stereo(void) const
returns true if this wire is in a stereo layer.
const HepGeom::Point3D< double > & xyPosition(void) const
returns middle position of a wire. z componet is 0.
const TRGCDCLayer & layer(void) const
returns a pointer to a layer.
unsigned axialStereoLayerId(void) const
returns id of axial or stereo layer id.
int localIdDifference(const TRGCDCCell &) const
returns local id difference.
virtual void clear(void)
clears information.
unsigned state(void) const
returns state.
bool axial(void) const
returns true if this wire is in an axial layer.
unsigned localId(void) const
returns local id in a layer.
Abstract base class for different kinds of events.