EusoElectronics
| #include "EusoElectronics.hh" |
EusoElectronics
class description - source file - inheritance tree (.pdf)
class EusoElectronics : public EsafConfigurable, public EsafMsgSource
| Inheritance Chart: | |||||||||||
|
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)
