14#include <boost/serialization/access.hpp>
58 CbmTrdDigi(int32_t padChNr,
float chargeT,
float chargeR, uint64_t time);
76 int32_t , int32_t ,
float* )
129 double GetCharge(
double& tilt, int32_t& dt)
const;
170 static std::pair<eTriggerType, bool>
GetTriggerPair(
const int32_t triggerValue);
186 bool IsFlagged(
const int32_t iflag)
const;
207 void SetCharge(
float cT,
float cR, int32_t dt = 0);
209 void SetFlag(
const int32_t iflag,
bool set =
true);
296 template<
class Archive>
@ kTrd
Transition Radiation Detector.
int32_t GetAddressModule() const
Getter module address in the experiment.
static const int32_t fgkTypOffset
void SetAsic(eCbmTrdAsicType ty=eCbmTrdAsicType::kSPADIC)
double GetChargeTR() const
CbmTrdDigi()
Default constructor.
static const char * GetClassName()
Class name (static)
void serialize(Archive &ar, const unsigned int)
void SetTriggerType(const eTriggerType triggerType)
Set digi trigger type.
void SetAddress(const int32_t a)
Module address setter for digi.
int32_t GetAddress() const
Address getter for module in the format defined by CbmTrdDigi (format of CbmTrdAddress can be accesse...
void SetStopType(int32_t)
static std::pair< eTriggerType, bool > GetTriggerPair(const int32_t triggerValue)
Get the trigger combination, i.e. St or Nt and is multihit or not (true/false)
void SetPileUp(bool set=true)
Set digi pile-up (FASP only)
int32_t GetTriggerType() const
Channel trigger type. SPADIC specific see CbmTrdTriggerType.
bool IsFASP() const
Shortcut to check if FASP digi.
static const int32_t fgkTrgOffset
static const double fgClk[static_cast< size_t >(eCbmTrdAsicType::kNTypes)+1]
clock length in ns for acquisition
static const int32_t fgkRoOffset
void SetFlag(const int32_t iflag, bool set=true)
Generic flag status setter.
double GetChargeError() const
Charge error parametrisation. SPADIC specific see GetErrorClass()
void SetModule(const int32_t a)
bool IsPileUp() const
Query digi pile-up (FASP only)
std::string ToString() const
String representation of a TRD digi. Account for digi type and specific information.
void SetChannel(const int32_t a)
uint64_t GetTimeDAQ() const
Getter for global DAQ time [clk]. Differs for each ASIC. In FASP case DAQ time is already stored in f...
int32_t GetAddressChannel() const
Getter read-out id.
ClassDefNV(CbmTrdDigi, 4)
bool IsFlagged(const int32_t iflag) const
Query flag status (generic)
bool IsMasked() const
Query digi mask (FASP only)
static const int32_t fgkLyOffset
void SetPulseShape(float[45])
static float Clk(eCbmTrdAsicType ty)
DAQ clock accessor for each ASIC.
static const int32_t fgkFlgOffset
void SetErrorClass(const int32_t n)
Set digi error class (SPADIC only)
eCbmTrdAsicType GetType() const
Channel FEE SPADIC/FASP according to CbmTrdAsicType.
static const char * GetBranchName()
Get the desired name of the branch for this obj in the cbm output tree (static)
void SetInfoType(int32_t)
friend class boost::serialization::access
BOOST serialization interface.
CbmTrdDigi & operator=(const CbmTrdDigi &)=default
Assignment operator.
void AddCharge(CbmTrdDigi *sd, double f)
Charge addition in case of pile-up (FASP simulation only)
CbmTrdDigi(int32_t, double, int32_t, int32_t, int32_t, int32_t, float *)
Constructor for backward compatibillity. Does not do anything.
static ECbmModuleId GetSystem()
void SetAddressModule(const int32_t a)
Alias for SetAddress()
int32_t GetErrorClass() const
Channel status. SPADIC specific see LUT.
void SetTimeDAQ(uint64_t t)
Set global digi time (clk)
static const int32_t fgkErrOffset
static const int32_t fgkModOffset
void SetTimeOffset(int8_t t)
Set time offset of rectangular to tilt pads for FASP (clk)
double GetTime() const
Getter for physical time [ns]. Accounts for clock representation of each ASIC. In SPADIC case physica...
void SetMasked(bool set=true)
Set digi mask (FASP only)
double GetCharge() const
Common purpose charge getter.
void SetCharge(float c)
Charge setter for SPADIC ASIC.
void SetTime(double t)
Set global digi time (ns)
static const float fgPrecission[static_cast< size_t >(eCbmTrdAsicType::kNTypes)+1]
Nr. of digits stored for ASIC.
void SetLayer(const int32_t a)