5#ifndef CBMTRDPARMODDIGI_H
6#define CBMTRDPARMODDIGI_H
12#include <RtypesCore.h>
22 CbmTrdParModDigi(Double_t
x, Double_t
y, Double_t z, Double_t sizex, Double_t sizey, Double_t sizez, Int_t nofSectors,
23 Int_t orientation,
const TArrayD& sectorSizeX,
const TArrayD& sectorSizeY,
const TArrayD& padSizeX,
24 const TArrayD& padSizeY);
55 Bool_t
GetPadInfo(
const Double_t* local_point, Int_t& sectorId, Int_t& columnId, Int_t& rowId)
const;
61 void GetPadPosition(
const Int_t sector,
const Int_t col,
const Int_t row, TVector3& padPos,
62 TVector3& padPosErr)
const;
66 void GetPadPosition(
const Int_t padAddress,
bool isCbmTrdDigiAddress, TVector3& padPos, TVector3& padPosErr)
const;
69 void GetPadPosition(
const Int_t padAddress, TVector3& padPos, TVector3& padPosErr)
const;
73 Int_t sectorId, Int_t columnId, Int_t rowId, TVector3& padPos, TVector3& padSize)
const;
78 Int_t
GetPadRow(
const Int_t channelNumber)
const;
82 Int_t
GetSector(Int_t npady, Int_t& rowId)
const;
99 void Print(Option_t* opt =
"")
const;
107 void TransformToLocalPad(
const Double_t* local_point, Double_t& posX, Double_t& posY)
const;
114 const Double_t* local_point, Int_t& sectorId, Int_t& columnId, Int_t& rowId)
const;
120 Int_t
GetSector(
const Double_t* local_point)
const;
Definition of chamber gain conversion for one TRD module.
Double_t GetSectorBeginY(Int_t i) const
void Print(Option_t *opt="") const
TArrayD fSectorZ
center of sectors local c.s. [cm]
TArrayD fSectorBeginX
begin of sector [cm]
Double_t GetSectorSizeX(Int_t i) const
virtual ~CbmTrdParModDigi()
Bool_t GetPadInfo(const Double_t *local_point, Int_t §orId, Int_t &columnId, Int_t &rowId) const
TArrayD fSectorY
center of sectors local c.s. [cm]
Double_t fAnodeWireOffset
Anode Wire Offset [cm].
TArrayD fSectorSizeY
sector size in y [cm]
Int_t GetNofSectors() const
Int_t GetPadRow(const Int_t channelNumber) const
void SetAnodeWireToPadPlaneDistance(Double_t d)
void GetPosition(Int_t sectorId, Int_t columnId, Int_t rowId, TVector3 &padPos, TVector3 &padSize) const
int GetPadPlaneType() const
Access the basic type of pad plane topology. For convenience also specific accessors are added for ea...
bool IsPadPlane2D() const
TArrayD fSectorBeginY
begin of sector [cm]
Double_t GetSizeY() const
Double_t fZ
center of module in global c.s. [cm]
void TransformHitError(TVector3 &hitErr) const
Int_t GetNofColumnsInSector(Int_t i) const
void SetAnodeWireOffset(Double_t off)
Int_t GetOrientation() const
Double_t fSizeX
module half size in x [cm]
Int_t GetSectorRow(Int_t growId, Int_t &srowId) const
Find the sector wise row given the module row. Inverse of GetModuleRow()
TArrayD fSectorEndX
end of sector [cm]
TArrayD fPadSizeY
size of the readout pad in y [cm]
TArrayD fSectorX
center of sectors local c.s. [cm]
void TransformToLocalSector(const Double_t *local_point, Double_t &posX, Double_t &posY) const
Int_t fNofSectors
number sectors for this module
bool IsPadPlane1D() const
void GetPadPosition(const Int_t sector, const Int_t col, const Int_t row, TVector3 &padPos, TVector3 &padPosErr) const
Double_t GetAnodeWireSpacing() const
Double_t GetPadSizeY(Int_t i) const
CbmTrdParModDigi(const CbmTrdParModDigi &ref)
Double_t GetSizeZ() const
Double_t fSizeY
module half size in y [cm]
void SetAnodeWireSpacing(Double_t dw)
Double_t GetSectorSizeY(Int_t i) const
Int_t GetNofRowsInSector(Int_t i) const
Double_t GetSectorBeginX(Int_t i) const
Double_t GetAnodeWireOffset() const
Int_t GetPadColumn(const Int_t channelNumber) const
Int_t GetSector(Int_t npady, Int_t &rowId) const
void ProjectPositionToNextAnodeWire(Double_t *local_point) const
Double_t GetPadSizeX(Int_t i) const
Double_t fAnodeWireToPadPlaneDistance
Anode Wire to PadPlane Distance [cm].
void TransformToLocalCorner(const Double_t *local_point, Double_t &posX, Double_t &posY) const
Double_t fY
center of module in global c.s. [cm]
Double_t GetAnodeWireToPadPlaneDistance() const
Double_t fX
center of module in global c.s. [cm]
TArrayD fSectorEndY
end of sector [cm]
Int_t GetNofColumns() const
void GetModuleInformation(const Double_t *local_point, Int_t §orId, Int_t &columnId, Int_t &rowId) const
TArrayD fPadSizeX
size of the readout pad in x [cm]
Double_t GetSizeX() const
Double_t fSizeZ
module half size in z [cm]
void TransformToLocalPad(const Double_t *local_point, Double_t &posX, Double_t &posY) const
const CbmTrdParModDigi & operator=(const CbmTrdParModDigi &ref)
TArrayD fSectorSizeX
sector size in x [cm]
Double_t fAnodeWireSpacing
anode wire pitch [cm]
Int_t GetModuleRow(Int_t §orId, Int_t &rowId) const
Definition of generic parameters for one TRD module.