11#include <framework/gearbox/GearDir.h>
12#include <framework/database/DBArray.h>
13#include <framework/database/DBObjPtr.h>
14#include <framework/dbobjects/HardwareClockSettings.h>
15#include <framework/geometry/B2Vector3.h>
17#include <cdc/dataobjects/WireID.h>
18#include <cdc/dbobjects/CDCTimeZeros.h>
19#include <cdc/dbobjects/CDCBadWires.h>
20#include <cdc/dbobjects/CDCPropSpeeds.h>
21#include <cdc/dbobjects/CDCTimeWalks.h>
22#include <cdc/dbobjects/CDCXtRelations.h>
23#include <cdc/dbobjects/CDCSpaceResols.h>
24#include <cdc/dbobjects/CDCFudgeFactorsForSigma.h>
25#include <cdc/dbobjects/CDCChannelMap.h>
26#include <cdc/dbobjects/CDCDisplacement.h>
27#include <cdc/dbobjects/CDCAlignment.h>
28#include <cdc/dbobjects/CDCMisalignment.h>
29#include <cdc/dbobjects/CDCGeometry.h>
30#include <cdc/dbobjects/CDCEDepToADCConversions.h>
32#include <cdc/geometry/CDCGeometryParConstants.h>
200 void calcMeanT0(
double minT0 = 3800,
double maxT0 = 5800,
int maxIt = 10,
double nStdv = 3,
double epsi = 0.1);
254 double getEDepToADCConvFactor(
unsigned short layer,
unsigned short cell,
double edep,
double dx,
double costh);
317 double momZ(
int iBound)
const;
324 double momRmin(
int iBound)
const;
559 unsigned int iwire = wireID.
getIWire();
560 if (iclayer >= c_maxNSenseLayers) iclayer = c_maxNSenseLayers - 1;
561 if (iwire >= c_maxNDriftCells) iwire = c_maxNDriftCells - 1;
562 return m_t0[iclayer][iwire];
572 std::map<WireID, unsigned short>::const_iterator it =
m_wireToBoard.find(wID);
573 unsigned short iret = (it !=
m_wireToBoard.end()) ? it->second : -999;
584 std::map<WireID, unsigned short>::const_iterator it =
m_wireToChannel.find(wID);
585 unsigned short iret = (it !=
m_wireToChannel.end()) ? it->second : -999;
608 std::map<WireID, unsigned short>::const_iterator it =
m_wireToBoard.find(wID);
617 tw = p0 * exp(-p1 * adcCount);
683 int nShifts(
int layerId)
const;
690 double offset(
int layerID)
const;
839 bool torf = *
m_badWireFromDB ? (*m_badWireFromDB)->isBadWire(wid) :
false;
849 bool torf = *
m_badWireFromDB ? (*m_badWireFromDB)->isDeadWire(wid, eff) :
false;
858 bool torf = *
m_badWireFromDB ? (*m_badWireFromDB)->isHotWire(wid) :
false;
887 double getDriftV(
double dt,
unsigned short layer,
unsigned short lr,
double alpha = 0.,
double theta = 0.5 * M_PI)
const;
900 double getDriftLength(
double dt,
unsigned short layer,
unsigned short lr,
double alpha = 0.,
double theta = 0.5 * M_PI,
901 bool calculateMinTime =
true,
double minTime = 0.)
const;
911 double getDriftLength0(
double dt,
unsigned short layer,
unsigned short lr,
double alpha = 0.,
double theta = 0.5 * M_PI)
const;
920 double getMinDriftTime(
unsigned short layer,
unsigned short lr,
double alpha = 0.,
double theta = 0.5 * M_PI)
const;
931 double getDriftTime(
double dist,
unsigned short layer,
unsigned short lr,
double alpha,
double theta)
const;
941 double getSigma(
double dist,
unsigned short layer,
unsigned short lr,
double alpha = 0.,
double theta = 0.5 * M_PI)
const;
989 unsigned short getOutgoingLR(
const unsigned short lr,
const double alpha)
const;
1010 void getClosestAlphaPoints(
const double alpha,
double& wal,
unsigned short points[2],
unsigned short lrs[2])
const;
1020 void getClosestThetaPoints(
const double alpha,
const double theta,
double& wth,
unsigned short points[2])
const;
1173 float m_XT[c_maxNSenseLayers][2][c_maxNAlphaPoints][c_maxNThetaPoints][c_nXTParams];
1174 float m_Sigma[c_maxNSenseLayers][2][c_maxNAlphaPoints][c_maxNThetaPoints][c_nSigmaParams];
1176 float m_t0[c_maxNSenseLayers][c_maxNDriftCells] = {};
1356 return c_maxNSenseLayers;
The Class for CDC geometry.
The Class for CDC Geometry Parameters.
void outputDesignWirParam(unsigned layerID, unsigned cellID) const
Write the designed wire parameters to the alignment.dat (default).
std::map< WireID, unsigned short > m_wireToChannel
map relating wire-id and channel-id.
void setWirPosAlignParams()
Set wire alignment params.
int m_materialDefinitionMode
Control switch for gas and wire material definition.
unsigned short m_nAlphaPoints4Sgm
No.
double getTimeWalk(const WireID &wID, unsigned short adcCount) const
Returns time-walk.
void readSigma(const GearDir &gbxParams, int mode=0)
Read spatial resolution table.
void readTW(const GearDir &gbxParams, int mode=0)
Read time-walk parameter.
void setXtRel()
Set XT-relation table (from DB) (new).
double getNominalPropSpeed() const
Return the nominal propagation speed of the sense wire (default: 27.25 cm/nsec).
float m_BWirPosMisalign[c_maxNSenseLayers][c_maxNDriftCells][3]
Wire position incl.
DBObjPtr< CDCBadWires > * m_badWireFromDB
bad-wires retrieved from DB.
double getTheta(const B2Vector3D &momentum) const
Returns track incident angle (theta in rad.).
double motherLength() const
The method to get cdc mother volume length.
void readT0(const GearDir &gbxParams, int mode=0)
Read t0 parameters (from a file).
void setT0()
Set t0 parameters (from DB)
float m_alphaPoints4Sgm[c_maxNAlphaPoints]
alpha sampling points for sigma (rad)
virtual ~CDCGeometryPar()
Destructor.
double fieldWireDiameter() const
Returns diameter of the field wire.
ushort m_maxNSuperLayers
Maximum number of Super Layers.
double m_fudgeFactorForSigma[3]
Fuge factor for space resol.
double outerRadiusInnerWall() const
Returns the outer radius of the inner wall.
double zOuterWall() const
Returns the length of the outer wall in Z.
int m_sigmaParamMode
Mode for sigma parameterization.
bool m_alignment
Switch for alignment.
float m_alphaPoints[c_maxNAlphaPoints]
alpha sampling points for xt (rad)
void getClosestAlphaPoints(const double alpha, double &wal, unsigned short points[2], unsigned short lrs[2]) const
Returns the two closest alpha points for the input track incident angle (alpha).
void readEDepToADC(const GearDir &gbxParams, int mode=0)
Read spatial edep-to-adc conv.
const double * zBackwardWireLayer() const
Returns an array of backward z of wire layers.
double m_globalPhiRotation
Global ratation in phi (rad.); only for sence wires now.
unsigned short getBoardID(const WireID &wID) const
Returns frontend board id. corresponding to the wire id.
EWirePosition
Wire position set.
double innerRadiusOuterWall() const
Returns the inner radius of the outer wall.
unsigned cellId(unsigned layerId, const B2Vector3D &position) const
The method to get cell id based on given layer id and the position.
void newReadSigma(const GearDir &gbxParams, int mode=0)
Read spatial resolution table in new format.
void setEDepToADCConversions()
Set edep-to-ADC conversion params.
double m_nominalPropSpeed
Nominal propagation speed of the sense wire (27.25 cm/nsec).
void setNominalSpaceResol(double resol)
Set the nominal spacial resolution in the unit of um.
int nShifts(int layerId) const
Returns number shift.
float m_thetaPoints[c_maxNThetaPoints]
theta sampling points for xt (rad)
void setDesignWirParam(unsigned layerID, unsigned cellID)
Set the desizend wire parameters.
void getWireSagEffect(EWirePosition set, unsigned layerID, unsigned cellID, double zw, double &ywb_sag, double &ywf_sag) const
Compute effects of the sense wire sag.
DBArray< CDCDisplacement > * m_displacementFromDB
displacement params.
bool m_XTetc
Switch for reading x-t etc.
void setShiftInSuperLayer()
Calculates and saves shifts in super-layers (to be used in searching hits in neighboring cells)
int m_nShifts[c_maxNSenseLayers]
The array to store shifted cell number in each sense wire layer.
bool m_wireSag
Switch for sense wire sag.
bool m_XTetc4Recon
Switch for selecting xt etc.
double getFwdDeltaZ(unsigned short layerID) const
Return forward 'deltaZ'.
double motherInnerR() const
The method to get cdc mother volume inner R.
const double * zForwardWireLayer() const
Returns an array of forward z of wire layers.
double getDriftLength0(double dt, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Return the drift dength to the sense wire; tentative ver.
unsigned short m_boardAndChannelToWire[c_nBoards][48]
array relating board-channel-id and wire-id.
unsigned short m_nThetaPoints4Sgm
No.
float m_WireSagCoef[c_maxNSenseLayers][c_maxNDriftCells]
Wire sag coefficient for each cell; ibid.
void generateXML(const std::string &of)
Generate an xml file used in gearbox.
void getClosestAlphaPoints4Sgm(const double alpha, double &wal, unsigned short points[2], unsigned short lrs[2]) const
Returns the two closest alpha points for sigma for the input track incident angle (alpha).
DBObjPtr< HardwareClockSettings > m_clockSettings
hardware clock settings
double getNominalSpaceResol() const
Return the nominal spacial resolution.
float m_eDepToADCParams[c_maxNSenseLayers][c_maxNDriftCells][7]
edep-to-ADC conv.
double getThresholdEnerguDeposit() const
Returns threshold for energy deposit in one G4 step.
double m_minTrackLength
Minimum track length for G4 step.
double getAlpha(const B2Vector3D &posOnWire, const B2Vector3D &momentum) const
Returns track incident angle in rphi plane (alpha in rad.).
double fieldWireR(int layerId) const
Returns radius of field wire in each layer.
ushort getOffsetOfFirstLayer() const
Get the offset of the first layer.
float m_FWirPosMisalign[c_maxNSenseLayers][c_maxNDriftCells][3]
Wire position incl.
double getMinTrackLength() const
Returns the minimum track length required in one G4 step (only secondary particles which pass this cr...
const B2Vector3D wireForwardPosition(uint layerId, int cellId, EWirePosition set=c_Base) const
Returns the forward position of the input sense wire.
bool isDeadWire(const WireID &wid, double &eff)
Inquire if the wire is dead.
unsigned m_nWires[c_maxNSenseLayers]
The array to store the wire number in each sense wire layre.
const WireID getWireID(unsigned short bd, unsigned short ch) const
Returns wire id. corresponding to the board-and-cannel ids.
double momRmin(int iBound) const
Returns inner radius of the CDC mother volume.
double getDriftV(double dt, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Get the realistic drift velocity.
double m_clockFreq4TDC
Clock frequency used for TDC (GHz).
bool isWireSagOn() const
Returns on/off for sense wire sag in FullSim.
const B2Vector3D wireForwardPosition(const WireID &wireID, double z, EWirePosition set=c_Base) const
The same function but in a different input format.
ushort getMaxNumberOfSuperLayers() const
Get the maximum number of super layers.
int m_nFLayer
The number of field wire layer.
static CDCGeometryPar * m_B4CDCGeometryParDB
Pointer that saves the instance of this class.
double zOffsetOuterWall() const
Returns the offset of the outer wall in z direction.
DBObjPtr< CDCMisalignment > * m_misalignmentFromDB
misalignment params.
ushort getNumberOfFieldWires() const
Get the number of field wires.
float m_XT[c_maxNSenseLayers][2][c_maxNAlphaPoints][c_maxNThetaPoints][c_nXTParams]
XT-relation coefficients for each layer, Left/Right, entrance angle and polar angle.
void setSenseWireR(int layerId, double r)
Set radius of sense wire in each layer.
signed short m_shiftInSuperLayer[c_nSuperLayers][8]
shift in phi-direction wrt the 1st layer in each super layer
std::string m_version
The version of geometry parameters.
double senseWireDiameter() const
Returns diameter of the sense wire.
const B2Vector3D wireBackwardPosition(uint layerId, int cellId, EWirePosition set=c_Base) const
Returns the backward position of the input sense wire.
bool m_linearInterpolationOfXT
Switch for linear interpolation of xt.
double getTdcBinWidth() const
Return TDC bin width (nsec).
DBObjPtr< CDCSpaceResols > * m_sResolFromDB
sigma params.
void setDisplacement()
Set displacement of sense wire.
double getOutgoingAlpha(const double alpha) const
Converts incoming- to outgoing-alpha.
bool isHotWire(const WireID &wid)
Inquire if the wire is hot.
double m_meanT0
mean t0 over all wires; should be double.
double momZ(int iBound) const
Returns boundary position in Z axis of the CDC mother volume.
bool m_debug
Switch for debug printing.
DBObjPtr< CDCTimeWalks > * m_timeWalkFromDB
time-walk coeffs.
ushort m_nSenseWires
Maximum number of Sense Wires.
unsigned short m_tdcOffset
Not used; to be removed later.
float getT0(const WireID &wireID) const
Returns t0 parameter of the specified sense wire.
double getSigma(double dist, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Return the basic resolution of drift length (cm).
unsigned short getOutgoingLR(const unsigned short lr, const double alpha) const
Converts incoming-lr to outgoing-lr.
ushort m_maxNSenseLayers
Maximum number of Sense Wire Layers.
void readWirePositionParams(EWirePosition set, const CDCGeometry *geom)
Read displacement or (mis)alignment params from text file.
double getFudgeFactorForSigma(unsigned short target) const
Return the fuge factor for space resol.
float m_thetaPoints4Sgm[c_maxNThetaPoints]
theta sampling points for sigma (rad)
const B2Vector3D wireForwardPosition(const WireID &wireID, EWirePosition set=c_Base) const
The same function but in a different input format.
double zInnerWall() const
Returns the length of the inner wall in Z.
void setXT()
Set XT-relation table (from DB).
std::map< WireID, unsigned short > m_wireToBoard
map relating wire-id and board-id.
double getOutgoingTheta(const double alpha, const double theta) const
Converts incoming- to outgoing-theta.
double m_senseWireDiameter
The diameter of sense wires.
double offset(int layerID) const
Return wire offset in phi direction at endplate.
bool m_displacement
Switch for displacement.
int m_twParamMode
Mode for tw parameterization.
double senseWireBZ(int layerId) const
Returns backward z position of sense wire in each layer.
double m_dzSBackwardLayer[c_maxNSenseLayers]
Corrections for backward z position of sense wire layers.
double getMinDriftTime(unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Return the min.
unsigned nWiresInLayer(int layerId) const
Returns wire numbers in a layer.
double fieldWireBZ(int layerId) const
Returns backward z position of field wire in each layer.
void getClosestThetaPoints(const double alpha, const double theta, double &wth, unsigned short points[2]) const
Returns the two closest theta points for the input track incident angle (theta).
double zOffsetInnerWall() const
Returns the offset of the outer wall in z direction.
double senseWireFZ(int layerId) const
Returns forward z position of sense wire in each layer.
void readPropSpeed(const GearDir &gbxParams, int mode=0)
Read the propagation speed along the sense wire.
double getBwdDeltaZ(unsigned short layerID) const
Return backward 'deltaZ'.
double innerRadiusInnerWall() const
Returns the inner radius of the inner wall.
DBObjPtr< CDCTimeZeros > * m_t0FromDB
t0s retrieved from DB.
ushort getMaxNumberOfCellsPerLayer() const
Get the maximum number of cells in one layer.
int m_xtFileFormat
Format of xt input file.
int m_sigmaFileFormat
Format of sigma input file.
void setSenseWireBZ(int layerId, double bz)
set backward z position of sense wires.
ushort m_firstSuperLayerOffset
Offset of the first super layer (for reduced CDC studies)
void setChMap()
Set channel map (from DB)
double getEDepToADCSigma(unsigned short layer, unsigned short cell)
Return sigma for extra smearing of edep to ADC conversion.
double getNominalDriftV() const
Return the nominal drift velocity of He-ethane gas (default: 4.0x10^-3 cm/nsec).
DBObjPtr< CDCFudgeFactorsForSigma > * m_fFactorFromDB
fudge factors retrieved from DB.
int m_nSLayer
The number of sense wire layer.
DBArray< CDCChannelMap > * m_chMapFromDB
channel map retrieved from DB.
void calcMeanT0(double minT0=3800, double maxT0=5800, int maxIt=10, double nStdv=3, double epsi=0.1)
Calculate mean t0 in ns (over all good wires)
double getMeanT0() const
Returns the mean t0 over all wires.
void readFromDB(const CDCGeometry &)
Gets geometry parameters from database.
DBObjPtr< CDCXtRelations > * m_xtRelFromDB
xt params.
double m_nominalDriftV
Nominal drift velocity (4.0x10^-3 cm/nsec).
float m_FWirPos[c_maxNSenseLayers][c_maxNDriftCells][3]
Wire position incl.
ushort getNumberOfSenseLayers() const
Get the number of sense layers.
float m_WireSagCoefAlign[c_maxNSenseLayers][c_maxNDriftCells]
Wire sag coefficient incl.
double m_zSForwardLayer[c_maxNSenseLayers]
The array to store forward z position of sense wire layers.
bool m_linearInterpolationOfSgm
Switch for linear interpolation of sigma.
DBObjPtr< CDCPropSpeeds > * m_propSpeedFromDB
prop.
double getPropSpeedInv(const unsigned int layerID) const
Get the inversel of propagation speed in the sense wire.
void setBadWire()
Set bad-wires (from DB)
int m_xtParamMode
Mode for xt parameterization.
float m_FWirPosAlign[c_maxNSenseLayers][c_maxNDriftCells][3]
Wire position incl.
CDCGeometryPar(const CDCGeometryPar &)
Singleton class.
double fieldWireFZ(int layerId) const
Returns forward z position of field wire in each layer.
double m_dzSForwardLayer[c_maxNSenseLayers]
Corrections for forward z position of sense wire layers.
double getEDepToADCConvFactor(unsigned short layer, unsigned short cell, double edep, double dx, double costh)
Return edep-to-ADC conversion factor.
double m_nominalDriftVInv
Inverse of the nominal drift velocity.
const double * innerRadiusWireLayer() const
Returns an array of inner radius of wire layers.
double getDriftTime(double dist, unsigned short layer, unsigned short lr, double alpha, double theta) const
Return the drift time to the sense wire.
void setPropSpeed()
Set prop.
signed short getShiftInSuperLayer(unsigned short iSuperLayer, unsigned short iLayer) const
Returns shift in the super-layer.
double getWireSagCoef(EWirePosition set, uint layerId, int cellId) const
Returns coefficient for the sense wire sag.
void readChMap()
Read channel map between wire-id and electronics-id.
double m_zFForwardLayer[c_maxNFieldLayers]
The array to store forward z position of field wire layers.
double m_rSLayer[c_maxNSenseLayers]
The array to store radius of sense wire layers.
double m_fieldWireDiameter
The diameter of field wires.
double m_zFBackwardLayer[c_maxNFieldLayers]
The array to store backward z position of field wire layers.
ushort m_nFieldWires
Maximum number of Field Wires.
float m_WireSagCoefMisalign[c_maxNSenseLayers][c_maxNDriftCells]
Wire sag coefficient incl.
double getDriftLength(double dt, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI, bool calculateMinTime=true, double minTime=0.) const
Return the drift dength to the sense wire.
double m_cellSize[c_maxNSenseLayers]
The array to store cell size in each sense wire layer.
float m_BWirPosAlign[c_maxNSenseLayers][c_maxNDriftCells][3]
Wire position incl.
double outerRadiusOuterWall() const
Returns the outer radius of the outer wall.
float m_t0[c_maxNSenseLayers][c_maxNDriftCells]
t0 for each sense-wire (in nsec).
void setWirPosMisalignParams()
Set wire misalignment params.
double m_momZ[7]
Z-cordinates of the cdc mother volume (7 segments).
double m_momRmin[7]
R_min of the cdc mother volume (7 segments).
double m_offSet[c_maxNSenseLayers]
The array to store z offset of sense wire layers.
int getSenseWireZposMode() const
Return mode for sense wire z position.
void setTW()
Set time-walk parameters.
const B2Vector3D wireBackwardPosition(const WireID &wireID, EWirePosition set=c_Base) const
The same function but in a different input format.
void setSResol()
Set spatial resolution (from DB).
double m_zSBackwardLayer[c_maxNSenseLayers]
The array to store backward z position of sense wire layers.
unsigned short getOldLeftRight(const B2Vector3D &posOnWire, const B2Vector3D &posOnTrack, const B2Vector3D &momentum) const
Returns old left/right.
float m_propSpeedInv[c_maxNSenseLayers]
Inverse of propagation speed of the sense wire.
ushort m_maxNCellsPerLayer
Maximum number wires within a layer.
double m_zWall[4][2]
The array to store z position of inner wall and outer wall.
bool isBadWire(const WireID &wid)
Inquire if the wire is totally-dead.
ushort getNumberOfFieldLayers() const
Get the number of field layers.
const B2Vector3D wireBackwardPosition(const WireID &wireID, double z, EWirePosition set=c_Base) const
The same function but in a different input format.
DBObjPtr< CDCAlignment > * m_alignmentFromDB
alignment params.
ushort m_maxNFieldLayers
Maximum number of Field Wire Layers.
bool m_misalignment
Switch for misalignment.
int getMaterialDefinitionMode() const
Return mode for material definition.
double m_senseWireDensity
The density of sense wires.
static CDCGeometryPar & Instance(const CDCGeometry *=nullptr)
Static method to get a reference to the CDCGeometryPar instance.
ushort m_firstLayerOffset
Offset of the first layer (for reduced CDC studies)
void Print() const
Print some debug information.
float m_timeWalkCoef[c_nBoards][2]
coefficients for time walk.
void readFFactor(const GearDir &gbxParams, int mode=0)
Read fudge factors.
unsigned short m_nThetaPoints
No.
ushort getOffsetOfFirstSuperLayer() const
Get the offset of the first super layer.
double m_maxSpaceResol
max space resolution allowed (cm).
double m_thresholdEnergyDeposit
Energy thresh.
float m_BWirPos[c_maxNSenseLayers][c_maxNDriftCells][3]
Wire position incl.
float m_Sigma[c_maxNSenseLayers][2][c_maxNAlphaPoints][c_maxNThetaPoints][c_nSigmaParams]
position resulution for each layer.
void readXT(const GearDir &gbxParams, int mode=0)
Read XT-relation table.
double m_rFLayer[c_maxNFieldLayers]
The array to store radius of field wire layers.
void newReadXT(const GearDir &gbxParams, int mode=0)
Read XT-relation table in new format.
unsigned short getChannelID(const WireID &wID) const
Returns frontend channel id. corresponding to the wire id.
double m_nominalSpaceResol
Nominal spacial resolution (0.0130 cm).
unsigned nWireLayers() const
Returns a number of wire layers.
unsigned short m_nAlphaPoints
No.
unsigned short getNewLeftRightRaw(const B2Vector3D &posOnWire, const B2Vector3D &posOnTrack, const B2Vector3D &momentum) const
Returns new left/right_raw.
int m_senseWireZposMode
Mode for sense wire z position corr.
double motherOuterR() const
The method to get cdc mother volume outer R.
CDCGeometryPar & operator=(const CDCGeometryPar &)
Singleton class.
double m_rWall[4]
The array to store radius of inner wall and outer wall.
double m_tdcBinWidth
TDC bin width (nsec/bin).
bool m_modLeftRightFlag
Switch for modified left/right flag.
void getClosestThetaPoints4Sgm(const double alpha, const double theta, double &wth, unsigned short points[2]) const
Returns the two closest theta points for sigma for the input track incident angle (theta).
bool isModifiedLeftRightFlagOn() const
Returns on/off for modified left/right calculation in FullSim.
DBObjPtr< CDCEDepToADCConversions > * m_eDepToADCConversionsFromDB
Pointer to edep-to-ADC conv.
const double * outerRadiusWireLayer() const
Returns an array of outer radius of wire layers.
double senseWireR(int layerId) const
Returns radius of sense wire in each layer.
ushort getNumberOfSenseWires() const
Get the number of sense wires.
double m_senseWireTension
The tension of sense wires.
double getEDepToADCMainFactor(unsigned short layer, unsigned short cell, double costh=0)
Return edep-to-ADC conversion main factor (in count/keV)
double zOffsetWireLayer(unsigned i) const
Returns the offset of z of the wire layer i.
void setFFactor()
Set fudge factors (from DB).
void setSenseWireFZ(int layerId, double fz)
Set forward z position of sense wires.
std::string version() const
Returns the version of cdc geometry parameters.
int momBound() const
to get the number of boundary position of the CDC mother volume
unsigned short getTdcOffset() const
Return TDC offset value (default = 0 ch).
Class for accessing arrays of objects in the database.
Class for accessing objects in the database.
GearDir is the basic class used for accessing the parameter store.
Class to identify a wire inside the CDC.
unsigned short getICLayer() const
Getter for continuous layer numbering.
unsigned short getIWire() const
Getter for wire within the layer.
double sqrt(double a)
sqrt for double
Abstract base class for different kinds of events.