8#define BMNSSDMODULE_H 1
51 BmnSsdModule(UInt_t address = 0, TGeoPhysicalNode* node =
nullptr,
90 void AddSignal(UShort_t channel, Double_t time, Double_t charge,
91 Int_t index = 0, Int_t entry = 0, Int_t file = 0);
101 Double_t& timeFirst, Double_t& timeLast);
200 return ( fDeadChannels.find(channel) == fDeadChannels.end() );
207 Bool_t
IsSet()
const {
return fIsSet; }
230 void SetParameters(Double_t dynRange, Double_t threshold, Int_t nAdc,
231 Double_t timeResolution, Double_t deadTime,
232 Double_t noise, Double_t zeroNoiseRate,
233 Double_t fracDeadChannels = 0.);
264 UShort_t fNofChannels;
267 Int_t fNofAdcChannels;
268 Double_t fTimeResolution;
271 Double_t fZeroNoiseRate;
274 std::set <UShort_t> fDeadChannels;
284 typedef std::multiset<BmnSsdSignal*, BmnSsdSignal::Before> sigset;
285 std::map<UShort_t, sigset> fAnalogBuffer;
289 std::vector<BmnSsdCluster*> fClusters;
300 virtual void InitDaughters();
309 Int_t SetDeadChannels(Double_t percentOfDeadCh);
Data class for SSD clusters.
Class characterising one event by a collection of links (indices) to data objects,...
Data class for SSD clusters.
Class representing an element of the SSD setup.
Class representing an instance of a readout unit in the BMN-SSD.
Int_t GetNofAdcChannels() const
Int_t ProcessAnalogBuffer(Double_t readoutTime)
Double_t GetDynamicRange() const
void AddCluster(BmnSsdCluster *cluster)
Add a cluster to its array.
std::set< UShort_t > GetSetOfDeadChannels() const
Set of dead channels @value Set of dead channels.
Double_t GetTimeResolution() const
void AddSignal(UShort_t channel, Double_t time, Double_t charge, Int_t index=0, Int_t entry=0, Int_t file=0)
std::string ToString() const
Bool_t IsChannelActive(UShort_t channel)
BmnSsdModule(const BmnSsdModule &)=delete
Int_t ChargeToAdc(Double_t charge)
UShort_t GetNofChannels() const
Number of electronic channels @value Number of ADC channels.
static Int_t GetAddressFromName(TString name)
Get the address from the module name (static)
Int_t GetNofClusters() const
Current number of clusters @value Number of clusters in the buffer.
Int_t GenerateNoise(Double_t t1, Double_t t2)
Generate noise.
Double_t GetZeroNoiseRate() const
Zero threshold noise rate @value Noise rate at zero threshold [1/ns].
Double_t GetNoise() const
void SetParameters(Double_t dynRange, Double_t threshold, Int_t nAdc, Double_t timeResolution, Double_t deadTime, Double_t noise, Double_t zeroNoiseRate, Double_t fracDeadChannels=0.)
BmnSsdModule & operator=(const BmnSsdModule &)=delete
Int_t FindHits(TClonesArray *hitArray, BmnEvent *event=NULL)
void BufferStatus(Int_t &nofSignals, Double_t &timeFirst, Double_t &timeLast)
void SetDeadTime(Double_t dTime)
Double_t AdcToCharge(UShort_t adcChannel)
Auxiliary class for simulating physics processes in Silicon.
Data class for an analog signal in the SSD.