TDetectorPulse Class Reference

#include <TDetectorPulse.h>

Inheritance diagram for TDetectorPulse:
TObject

List of all members.

Classes

struct  Tag

Public Types

enum  ParentChannel_t { kFast, kSlow, kNumParents }

Public Member Functions

 TDetectorPulse ()
 TDetectorPulse (const IDs::source &sourceID, int s_parentID, const TAnalysedPulse *s_parent, int f_parentID, const TAnalysedPulse *f_parent)
virtual ~TDetectorPulse ()
void Reset (Option_t *o="")
double GetEnergy (ParentChannel_t ch=kSlow) const
double GetTime (ParentChannel_t ch=kFast) const
double GetAmplitude (ParentChannel_t ch=kFast) const
double GetIntegral (ParentChannel_t ch=kFast) const
double GetPedestal (ParentChannel_t ch=kFast) const
const TAnalysedPulseGetTAP (ParentChannel_t ch) const
const IDs::sourceGetSource () const
bool IsPileUpSafe () const
void SetPileUpSafe (const bool &val=true)
bool WasPileUpChecked () const
void SetPileUpChecked (const bool &val=true)
bool IsPairedPulse () const
bool CouldBePaired () const
bool IsGood () const

Private Member Functions

 ClassDef (TDetectorPulse, 2)

Private Attributes

bool fCheckedForPileUp
bool fPileUpSafe
bool fCouldBePaired
const TAnalysedPulsefParentPulse [kNumParents]
int fParentID [kNumParents]
FlyWeight< IDs::source,
TAnalysedPulse::Tag
fParentSource [kNumParents]
FlyWeight< IDs::source, TagfSource

Detailed Description

Definition at line 19 of file TDetectorPulse.h.


Member Enumeration Documentation

Enumerator:
kFast 
kSlow 
kNumParents 

Definition at line 21 of file TDetectorPulse.h.

00021 { kFast, kSlow,kNumParents};


Constructor & Destructor Documentation

TDetectorPulse::TDetectorPulse (  ) 

Definition at line 14 of file TDetectorPulse.cpp.

References Reset().

00014                               {
00015   Reset();
00016 }

TDetectorPulse::TDetectorPulse ( const IDs::source sourceID,
int  s_parentID,
const TAnalysedPulse s_parent,
int  f_parentID,
const TAnalysedPulse f_parent 
)

Definition at line 18 of file TDetectorPulse.cpp.

References fCouldBePaired, fParentID, fParentPulse, fParentSource, fSource, IDs::source::Generator(), GetSource(), TAnalysedPulse::GetSource(), kFast, kSlow, and Reset().

00021                  {
00022   Reset();
00023   fParentPulse[kSlow] = s_parent;
00024   fParentPulse[kFast] = f_parent;
00025   if(s_parent) fParentSource[kSlow]= s_parent->GetSource();
00026   if(f_parent) fParentSource[kFast]= f_parent->GetSource();
00027   fParentID[kSlow]=s_parentID;
00028   fParentID[kFast]=f_parentID;
00029   fSource=sourceID;
00030   fCouldBePaired=(GetSource().Generator().Type()!="PassThrough");
00031 }

TDetectorPulse::~TDetectorPulse (  )  [virtual]

Definition at line 12 of file TDetectorPulse.cpp.

00012 {}


Member Function Documentation

TDetectorPulse::ClassDef ( TDetectorPulse  ,
 
) [private]
bool TDetectorPulse::CouldBePaired (  )  const [inline]

Definition at line 54 of file TDetectorPulse.h.

References fCouldBePaired.

Referenced by IsGood(), CheckTMEs::ProcessEntry(), and TMEViewer::ProcessEntry().

00054 {return fCouldBePaired;}

double TDetectorPulse::GetAmplitude ( ParentChannel_t  ch = kFast  )  const [inline]
double TDetectorPulse::GetEnergy ( ParentChannel_t  ch = kSlow  )  const [inline]

Definition at line 34 of file TDetectorPulse.h.

References TDP_GetField.

Referenced by MakeSiliconEvents::ProcessEntry().

00034                                                        { 
00035             TDP_GetField(ch,Energy); }

double TDetectorPulse::GetIntegral ( ParentChannel_t  ch = kFast  )  const [inline]

Definition at line 40 of file TDetectorPulse.h.

References TDP_GetField.

00040                                                          { 
00041             TDP_GetField(ch,Integral); }

double TDetectorPulse::GetPedestal ( ParentChannel_t  ch = kFast  )  const [inline]

Definition at line 42 of file TDetectorPulse.h.

References TDP_GetField.

00042                                                          { 
00043             TDP_GetField(ch,Pedestal); }

const IDs::source& TDetectorPulse::GetSource (  )  const [inline]

Definition at line 46 of file TDetectorPulse.h.

References fSource, and FlyWeight< ValueType, UniqueTag >::GetValue().

Referenced by MaxTimeDiffMEGenerator::ProcessPulses(), and TDetectorPulse().

00046 { return fSource.GetValue(); }

const TAnalysedPulse* TDetectorPulse::GetTAP ( ParentChannel_t  ch  )  const [inline]

Definition at line 44 of file TDetectorPulse.h.

References fParentPulse.

Referenced by TME_Al50_EvdE::ProcessEntry().

00044 {return fParentPulse[ch];}

double TDetectorPulse::GetTime ( ParentChannel_t  ch = kFast  )  const [inline]
bool TDetectorPulse::IsGood (  )  const [inline]

Definition at line 55 of file TDetectorPulse.h.

References CouldBePaired(), and IsPairedPulse().

Referenced by MakeSiliconEvents::ProcessEntry().

00055 {return ( !CouldBePaired() ) || IsPairedPulse();}

bool TDetectorPulse::IsPairedPulse (  )  const [inline]

Definition at line 53 of file TDetectorPulse.h.

References fParentPulse, kFast, and kSlow.

Referenced by IsGood(), CheckTMEs::ProcessEntry(), and TMEViewer::ProcessEntry().

00053 {return fParentPulse[kFast]&&fParentPulse[kSlow];}

bool TDetectorPulse::IsPileUpSafe (  )  const [inline]

Definition at line 48 of file TDetectorPulse.h.

References fCheckedForPileUp, and fPileUpSafe.

00048 {return fPileUpSafe&&fCheckedForPileUp;};

void TDetectorPulse::Reset ( Option_t *  o = ""  ) 

Definition at line 33 of file TDetectorPulse.cpp.

References fCheckedForPileUp, fCouldBePaired, fParentID, fParentPulse, fParentSource, fPileUpSafe, kNumParents, and FlyWeight< ValueType, UniqueTag >::Reset().

Referenced by TDetectorPulse().

00033                                       {
00034     for(int i=0;i<kNumParents;++i){
00035         fParentPulse[i] = NULL;
00036         fParentID[i]=-1;
00037         fParentSource[i].Reset();
00038     }
00039     fCheckedForPileUp=false;
00040     fPileUpSafe=false;
00041     fCouldBePaired=false;
00042 }

void TDetectorPulse::SetPileUpChecked ( const bool &  val = true  )  [inline]

Definition at line 51 of file TDetectorPulse.h.

References fCheckedForPileUp.

00051 { fCheckedForPileUp=val;};

void TDetectorPulse::SetPileUpSafe ( const bool &  val = true  )  [inline]

Definition at line 49 of file TDetectorPulse.h.

References fCheckedForPileUp, and fPileUpSafe.

00049 {fPileUpSafe=val;fCheckedForPileUp=true;};

bool TDetectorPulse::WasPileUpChecked (  )  const [inline]

Definition at line 50 of file TDetectorPulse.h.

References fCheckedForPileUp.

00050 {return fCheckedForPileUp;};


Member Data Documentation

Definition at line 60 of file TDetectorPulse.h.

Referenced by CouldBePaired(), Reset(), and TDetectorPulse().

int TDetectorPulse::fParentID[kNumParents] [private]

Definition at line 63 of file TDetectorPulse.h.

Referenced by Reset(), and TDetectorPulse().

const TAnalysedPulse* TDetectorPulse::fParentPulse[kNumParents] [private]

Definition at line 62 of file TDetectorPulse.h.

Referenced by GetTAP(), IsPairedPulse(), Reset(), and TDetectorPulse().

Definition at line 66 of file TDetectorPulse.h.

Referenced by Reset(), and TDetectorPulse().

Definition at line 59 of file TDetectorPulse.h.

Referenced by IsPileUpSafe(), Reset(), and SetPileUpSafe().

Definition at line 67 of file TDetectorPulse.h.

Referenced by GetSource(), and TDetectorPulse().


The documentation for this class was generated from the following files:

Generated on 15 Jun 2016 for AlcapDAQ by  doxygen 1.6.1