CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
HFPhase1PMTData Class Reference

#include <HFPhase1PMTData.h>

Public Types

enum  {
  T_0_MIN = 0, T_0_MAX, T_1_MIN, T_1_MAX,
  ASYMM_MIN, ASYMM_MAX, N_PMT_CUTS
}
 
typedef boost::array< std::shared_ptr< AbsHcalFunctor >, N_PMT_CUTSCuts
 

Public Member Functions

const AbsHcalFunctorcut (const unsigned which) const
 
 HFPhase1PMTData ()
 
 HFPhase1PMTData (const Cuts &cutShapes, const float charge0, const float charge1, const float minQAsymm)
 
float minCharge0 () const
 
float minCharge1 () const
 
float minChargeAsymm () const
 
bool operator!= (const HFPhase1PMTData &r) const
 
bool operator== (const HFPhase1PMTData &r) const
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, unsigned)
 

Private Attributes

Cuts cuts_
 
float minCharge0_
 
float minCharge1_
 
float minChargeAsymm_
 

Friends

class boost::serialization::access
 

Detailed Description

Definition at line 15 of file HFPhase1PMTData.h.

Member Typedef Documentation

◆ Cuts

typedef boost::array<std::shared_ptr<AbsHcalFunctor>, N_PMT_CUTS> HFPhase1PMTData::Cuts

Definition at line 29 of file HFPhase1PMTData.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
T_0_MIN 
T_0_MAX 
T_1_MIN 
T_1_MAX 
ASYMM_MIN 
ASYMM_MAX 
N_PMT_CUTS 

Definition at line 18 of file HFPhase1PMTData.h.

18  {
19  T_0_MIN = 0, // Min time measurement allowed for the first anode,
20  // depending on charge or energy
21  T_0_MAX, // Max time measurement allowed for the first anode
22  T_1_MIN, // Min time measurement allowed for the second anode
23  T_1_MAX, // Max time measurement allowed for the second anode
24  ASYMM_MIN, // Minimum allowed charge (or energy) asymmetry,
25  // depending on charge (or energy)
26  ASYMM_MAX, // Maximum allowed asymmetry
28  };

Constructor & Destructor Documentation

◆ HFPhase1PMTData() [1/2]

HFPhase1PMTData::HFPhase1PMTData ( )
inline

Definition at line 32 of file HFPhase1PMTData.h.

◆ HFPhase1PMTData() [2/2]

HFPhase1PMTData::HFPhase1PMTData ( const Cuts cutShapes,
const float  charge0,
const float  charge1,
const float  minQAsymm 
)
inline

Definition at line 35 of file HFPhase1PMTData.h.

36  : cuts_(cutShapes), minCharge0_(charge0), minCharge1_(charge1), minChargeAsymm_(minQAsymm) {}

Member Function Documentation

◆ cut()

const AbsHcalFunctor& HFPhase1PMTData::cut ( const unsigned  which) const
inline

Definition at line 39 of file HFPhase1PMTData.h.

References cuts_, and eostools::which().

Referenced by HFFlexibleTimeCheck::determineAnodeStatus(), and HFFlexibleTimeCheck::reconstruct().

39 { return *cuts_.at(which); }
def which(cmd)
Definition: eostools.py:336

◆ minCharge0()

float HFPhase1PMTData::minCharge0 ( ) const
inline

Definition at line 45 of file HFPhase1PMTData.h.

References minCharge0_.

Referenced by HFFlexibleTimeCheck::determineAnodeStatus().

45 { return minCharge0_; }

◆ minCharge1()

float HFPhase1PMTData::minCharge1 ( ) const
inline

Definition at line 46 of file HFPhase1PMTData.h.

References minCharge1_.

Referenced by HFFlexibleTimeCheck::determineAnodeStatus().

46 { return minCharge1_; }

◆ minChargeAsymm()

float HFPhase1PMTData::minChargeAsymm ( ) const
inline

Definition at line 49 of file HFPhase1PMTData.h.

References minChargeAsymm_.

Referenced by HFFlexibleTimeCheck::reconstruct().

49 { return minChargeAsymm_; }

◆ operator!=()

bool HFPhase1PMTData::operator!= ( const HFPhase1PMTData r) const
inline

Definition at line 65 of file HFPhase1PMTData.h.

References alignCSCRings::r.

65 { return !(*this == r); }

◆ operator==()

bool HFPhase1PMTData::operator== ( const HFPhase1PMTData r) const
inline

Definition at line 52 of file HFPhase1PMTData.h.

References cuts_, mps_fire::i, minCharge0_, minCharge1_, minChargeAsymm_, N_PMT_CUTS, and alignCSCRings::r.

52  {
53  if (minCharge0_ != r.minCharge0_)
54  return false;
55  if (minCharge1_ != r.minCharge1_)
56  return false;
57  if (minChargeAsymm_ != r.minChargeAsymm_)
58  return false;
59  for (unsigned i = 0; i < N_PMT_CUTS; ++i)
60  if (!(*cuts_[i] == *r.cuts_[i]))
61  return false;
62  return true;
63  }

◆ serialize()

template<class Archive >
void HFPhase1PMTData::serialize ( Archive &  ar,
unsigned   
)
inlineprivate

Definition at line 76 of file HFPhase1PMTData.h.

References cuts_, minCharge0_, minCharge1_, and minChargeAsymm_.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 73 of file HFPhase1PMTData.h.

Member Data Documentation

◆ cuts_

Cuts HFPhase1PMTData::cuts_
private

Definition at line 68 of file HFPhase1PMTData.h.

Referenced by cut(), operator==(), and serialize().

◆ minCharge0_

float HFPhase1PMTData::minCharge0_
private

Definition at line 69 of file HFPhase1PMTData.h.

Referenced by minCharge0(), operator==(), and serialize().

◆ minCharge1_

float HFPhase1PMTData::minCharge1_
private

Definition at line 70 of file HFPhase1PMTData.h.

Referenced by minCharge1(), operator==(), and serialize().

◆ minChargeAsymm_

float HFPhase1PMTData::minChargeAsymm_
private

Definition at line 71 of file HFPhase1PMTData.h.

Referenced by minChargeAsymm(), operator==(), and serialize().