Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

EusoElectronics

#include "EusoElectronics.hh"

EusoElectronics


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

class EusoElectronics : public EsafConfigurable, public EsafMsgSource

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
EusoElectronics
    private:
Double_t NightGlowRate(const TVector3& pos, const TVector3& norm, Double_t pxsize, Double_t pde) const Double_t NightGlowRate(const Photomultiplier*) const Double_t NightGlowRate(const FrontEndChip*) const public:
EusoElectronics() virtual ~EusoElectronics() virtual bool Build() virtual void BuildBackgroundChipDist() MacroCell* Cell(UInt_t) MacroCell* CellId(const ChannelUniqueId& chid) static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const virtual Telemetry* Data() virtual bool Destroy() virtual void Dump(ostream& = cout) void ElectronicsMap(MacroCell**, Photomultiplier**, Int_t& pmtchan, ChannelUniqueId chid) ElementaryCell* ElemCell(UInt_t) void EnableSimulation(Bool_t enable = kTRUE) Double_t GetDetectorScaleFactor() const Int_t GetLowSignalCellThreshold() const Int_t GetNumPmtSignals() const Bool_t GetSimulationStatus() const virtual TClass* IsA() const Int_t NumCell() const Int_t NumElemCell() const Int_t NumOfCh() const Int_t NumPmt() const Photomultiplier* Pmt(UInt_t) Photomultiplier* PmtId(ChannelUniqueId chid) virtual void Reset() void SetDetectorScaleFactor(Double_t scale) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual bool Simulate(Double_t, Double_t) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Telemetry* fTelemetry object for ground data format vector<MacroCell*> fMacrocells list of macro cells vector<Photomultiplier*> fPmts list of pmts vector<ElementaryCell*> fElementaryCells list of elementary cells map<Int_t,Photomultiplier*> fMap associate unique id to photomultiplier Int_t fNumOfChannelUniqueId Bool_t fSimulateElectronics disable simulation of the PmtSignal when Int_t fNumPmtSignals total number of pmt signals detected Int_t fLowSignalCellThreshold minimum number of signals per MC to run Bool_t fAddRandomGtuPhase if true add a random phase to the gtu counter Double_t fDetectorScaleFactor detector size scale factor string fNightGlow nightglow is added if not none string fNightGlowShape profile of the nightglow. Double_t fNightGlowRateOnAxis p.e. per pixel per microsec on the optical axis Double_t fNightGlowRadiance photon radiance [ph/m^2/sr/ns] Int_t fNightGlowCode its value defines in which conditions Interpolate* fNightGlowDist distribution of nightglow over the focal surface

Class Description

   Euso Electronics
   ================

   Electronics description of the focal surface. It is the core of the
   detector simulation

   fFrontEndSize : Number of channels in a front end chip. Do not change it

   fPmtSide : Number of channels in a pmt side. Do not change it.

   fEnable [bool] : Enable / disable electronics simulation

   fFocalSurfaceFile : Focal surface layout file

   fNightGlow [bool] : Choose night glow background implementation
   Valid options:
      - none:    no background at all
      - yes:     background added according to NightGlowCode variable

EusoElectronics() : EsafConfigurable(), EsafMsgSource(), fSimulateElectronics(kTRUE), fDetectorScaleFactor(1.), fNightGlowDist(0)
 Constructor


~EusoElectronics()
 Destructor


Double_t NightGlowRate( const TVector3& pos, const TVector3& norm, Double_t pxsize, Double_t pde ) const
 Nightglow rate as function of the location on the FS
 (number of hits per microseconds)

Double_t NightGlowRate( const Photomultiplier* pmt ) const
 Nightglow rate as function of the location on the FS


Double_t NightGlowRate( const FrontEndChip* fe ) const
 Nightglow rate as function of the front end chip


void BuildBackgroundChipDist()
 Nightglow rate as function of the location on the FS


Bool_t Build()
 New building strategy


Bool_t Destroy()
 Destroy the whole electronics tree

 to be done

MacroCell* Cell( UInt_t index )
 Mapping functions.
 Returns macrocell from index


MacroCell* CellId( const ChannelUniqueId& chid )
 Returns macrocell from channel unique id


ElementaryCell* ElemCell( UInt_t index )



Photomultiplier* Pmt( UInt_t index )
 Returns photomultiplier from id


Photomultiplier* PmtId(ChannelUniqueId chid)
 Returns photomultiplier from channel_unique_id


void ElectronicsMap( MacroCell** cell, Photomultiplier** pmt, Int_t& pmtchan, ChannelUniqueId chid )
 Returns all mapping from ChannelUniqueId


Bool_t Simulate( Double_t tBegin, Double_t tEnd)
 Simulate the whole electronics behaviour for this event


void Reset()
 Reset the electronics and get ready for next event


void Dump(ostream& os)
 Dump information about the electronics (for debugging)




Inline Functions


         Telemetry* Data()
              Int_t NumOfCh() const
              Int_t NumPmt() const
              Int_t NumElemCell() const
              Int_t NumCell() const
               void EnableSimulation(Bool_t enable = kTRUE)
             Bool_t GetSimulationStatus() const
              Int_t GetNumPmtSignals() const
              Int_t GetLowSignalCellThreshold() const
           Double_t GetDetectorScaleFactor() const
               void SetDetectorScaleFactor(Double_t scale)
        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:17:38 2005