Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

FrontEndChip

#include "FrontEndChip.hh"

FrontEndChip


class description - source file - inheritance tree (.pdf)

class FrontEndChip : public EsafConfigurable, public EsafMsgSource

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
FrontEndChip
    private:
Bool_t IsSorted() const void SetSorted(Bool_t val = kTRUE) void TimeSort() public:
FrontEndChip(Int_t channels = 64) virtual ~FrontEndChip() void Add(vector<PmtSignal*>*, Int_t ch) AnalogFrontEnd* Afee() void AssociatePmts(Photomultiplier* p1, Photomultiplier* p2 = 0, Photomultiplier* p3 = 0, Photomultiplier* p4 = 0) Int_t Channels() const Int_t ChanRowCol(Int_t r, Int_t c) const static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const Int_t Column(Int_t ch) const void DumpSignals(Int_t ch = -1, ostream& os = cout) Double_t FirstHitTime() const Int_t GetCellColOffset() const Int_t GetCellRowOffset() const Double_t GetNightGlowRate() const Int_t GetNumPmts() const void GetPixelCellRowCol(Int_t ch, Int_t& r, Int_t& c) const ChipTriggerType GetTriggerType() const ChipGtuData* Gtu(Int_t GtuId, Double_t start, Double_t end, Bool_t doNG) Int_t Id() const virtual TClass* IsA() const Bool_t IsEmpty() const Double_t LastHitTime() const Int_t NumActivePixels() const Int_t NumSide() const Photomultiplier* Pmt(Int_t ch = 0) const Int_t PmtChannel(Int_t ch) const void Reset() static void ResetClass() Int_t Row(Int_t ch) const void SetAfee(AnalogFrontEnd* af) void SetCellRowColOffset(Int_t r, Int_t c) void SetEmpty(Bool_t val = kTRUE) void SetNightGlowRate(Double_t r) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Int_t UniqueChanId(Int_t ch)

Data Members

    private:
vector<PmtSignal*>* fSignals[256] map<Int_t,Photomultiplier*> pPmts Int_t fNumPmts Int_t fNumPmtChannels AnalogFrontEnd* fAfee Int_t fNumSide number of this front end channels Int_t fId number of this chip static Int_t fgChipCounter chip counter Double_t fFirstTime Double_t fLastTime Bool_t fEmpty Int_t fCellRowOffset Int_t fCellColOffset Bool_t fSorted static Double_t fgResolvTime static Double_t fgCurrentGain static Double_t fgCurrentThreshold static Int_t fgCounterThreshold static ChipTriggerType fgTriggerType Double_t fEffectiveGain[256] Double_t fEffectiveThreshold[256] static Int_t fgTotalHits number of DETECTED PMT signals static Int_t fgTotalSignals number of PMT signals Double_t fNightGlowRate rate per channel

Class Description


FrontEndChip(Int_t channels ) : EsafConfigurable()
 ctor

~FrontEndChip()
 destructor; destroys lists only; PmtSignals are destroyed by Pmt

void AssociatePmts(Photomultiplier *p1, Photomultiplier *p2, Photomultiplier *p3, Photomultiplier *p4)
 attach a pmt to this chip
 the pmts must be of the same model

void ResetClass()
 reset class variables
 it is called by ElectronicsFactory when a new configuration is
 loaded and detector is re-built

void Add(vector<PmtSignal*>* signals, Int_t ch )
 add a list of hit
 compute the time of the first and last hit in time order

void Reset()
 reset chip to get ready for next event
 PmtSignals list are cleared and ChipGtuData cleared


ChipGtuData* Gtu(Int_t GtuId, Double_t start, Double_t end, Bool_t doNG)
 Simulate response for a GTU between start and end
 Data stored:
     counter values at the end
     digital signal on global OR output (taking into account counter thresh)


void GetPixelCellRowCol(Int_t ch, Int_t& r, Int_t& c) const
 return the macrocell row and column of a given channel

void TimeSort()
 sort all signal vectors
 each channel is independent from the others

void DumpSignals(Int_t chan, ostream& os)
 dump signals on stream
 if ch negative, do all channels

Int_t UniqueChanId(Int_t nch)
 channel id unique for the whole detector

Int_t NumActivePixels() const
 Returns the number of pixel with some hits


Photomultiplier* Pmt(Int_t ch) const
 Pmt associated with channel ch


Int_t PmtChannel(Int_t ch) const



Inline Functions


                  Int_t Channels() const
                  Int_t NumSide() const
                  Int_t Row(Int_t ch) const
                  Int_t Column(Int_t ch) const
                  Int_t ChanRowCol(Int_t r, Int_t c) const
                  Int_t Id() const
                   void SetAfee(AnalogFrontEnd* af)
        AnalogFrontEnd* Afee()
               Double_t LastHitTime() const
               Double_t FirstHitTime() const
                 Bool_t IsEmpty() const
                   void SetEmpty(Bool_t val = kTRUE)
        ChipTriggerType GetTriggerType() const
                   void SetCellRowColOffset(Int_t r, Int_t c)
                  Int_t GetCellRowOffset() const
                  Int_t GetCellColOffset() const
                  Int_t GetNumPmts() const
                   void SetNightGlowRate(Double_t r)
               Double_t GetNightGlowRate() const
                 Bool_t IsSorted() const
                   void SetSorted(Bool_t val = kTRUE)
            const char* ClassType() const
            const char* ClassName() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:18:02 2005