CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
MaterialAccountingGroup Class Reference

#include <MaterialAccountingGroup.h>

Classes

class  BoundingBox
 

Public Member Functions

bool addDetector (const MaterialAccountingDetector &detector)
 buffer material from a detector, if the detector is inside the DetLayer bounds More...
 
MaterialAccountingStep average (void) const
 return the average normalized material accounting informations More...
 
double averageEnergyLoss (void) const
 return the average normalized energy loss density factor for Bethe-Bloch More...
 
double averageLength (void) const
 return the average normalized layer thickness More...
 
double averageRadiationLengths (void) const
 return the average normalized number of radiation lengths More...
 
const std::vector< GlobalPoint > & elements (void) const
 
void endOfTrack (void)
 commit the buffer and reset the "already hit by this track" flag More...
 
std::pair< double, double > getBoundingR () const
 Return the bouding limit in R for the hosted Group. More...
 
std::pair< double, double > getBoundingZ () const
 Return the bouding limit in Z for the hosted Group. More...
 
std::string info (void) const
 get some infos More...
 
bool inside (const MaterialAccountingDetector &detector) const
 check if detector is inside any part of this layer More...
 
 MaterialAccountingGroup (const std::string &name, const DDCompactView &geometry)
 explicit constructors More...
 
const std::string & name (void) const
 get the layer name More...
 
void savePlots (void)
 save the plots More...
 
double sigmaEnergyLoss (void) const
 return the sigma of the normalized energy loss density factor for Bethe-Bloch More...
 
double sigmaLength (void) const
 return the sigma of the normalized layer thickness More...
 
double sigmaRadiationLengths (void) const
 return the sigma of the normalized number of radiation lengths More...
 
unsigned int tracks (void) const
 return the number of tracks that hit this layer More...
 
 ~MaterialAccountingGroup (void)
 destructor More...
 

Private Member Functions

 MaterialAccountingGroup (const MaterialAccountingGroup &layer)
 stop default copy ctor More...
 
MaterialAccountingGroupoperator= (const MaterialAccountingGroup &layer)
 stop default assignment operator More...
 
void savePlot (TH1F *plot, const std::string &name)
 
void savePlot (TProfile *plot, float average, const std::string &name)
 

Private Attributes

MaterialAccountingStep m_accounting
 
BoundingBox m_boundingbox
 
MaterialAccountingStep m_buffer
 
bool m_counted
 
TH1F * m_dedx_spectrum
 
TProfile * m_dedx_vs_eta
 
TProfile * m_dedx_vs_r
 
TProfile * m_dedx_vs_z
 
std::vector< GlobalPointm_elements
 
MaterialAccountingStep m_errors
 
TFile * m_file
 
std::string m_name
 
TH1F * m_radlen_spectrum
 
TProfile * m_radlen_vs_eta
 
TProfile * m_radlen_vs_r
 
TProfile * m_radlen_vs_z
 
unsigned int m_tracks
 

Static Private Attributes

static double const s_tolerance = 0.01
 

Detailed Description

Definition at line 18 of file MaterialAccountingGroup.h.

Constructor & Destructor Documentation

MaterialAccountingGroup::MaterialAccountingGroup ( const std::string &  name,
const DDCompactView geometry 
)

explicit constructors

Definition at line 22 of file MaterialAccountingGroup.cc.

MaterialAccountingGroup::~MaterialAccountingGroup ( void  )

destructor

Definition at line 68 of file MaterialAccountingGroup.cc.

MaterialAccountingGroup::MaterialAccountingGroup ( const MaterialAccountingGroup layer)
private

stop default copy ctor

Member Function Documentation

bool MaterialAccountingGroup::addDetector ( const MaterialAccountingDetector detector)

buffer material from a detector, if the detector is inside the DetLayer bounds

Definition at line 99 of file MaterialAccountingGroup.cc.

MaterialAccountingStep MaterialAccountingGroup::average ( void  ) const
inline

return the average normalized material accounting informations

Definition at line 103 of file MaterialAccountingGroup.h.

References m_accounting, and m_tracks.

double MaterialAccountingGroup::averageEnergyLoss ( void  ) const
inline

return the average normalized energy loss density factor for Bethe-Bloch

Definition at line 121 of file MaterialAccountingGroup.h.

References MaterialAccountingStep::energyLoss(), m_accounting, and m_tracks.

Referenced by sigmaEnergyLoss().

122  {
123  return m_tracks ? m_accounting.energyLoss() / m_tracks : 0.;
124  }
double energyLoss(void) const
MaterialAccountingStep m_accounting
double MaterialAccountingGroup::averageLength ( void  ) const
inline

return the average normalized layer thickness

Definition at line 109 of file MaterialAccountingGroup.h.

References MaterialAccountingStep::length(), m_accounting, and m_tracks.

Referenced by sigmaLength().

110  {
111  return m_tracks ? m_accounting.length() / m_tracks : 0.;
112  }
double length(void) const
MaterialAccountingStep m_accounting
double MaterialAccountingGroup::averageRadiationLengths ( void  ) const
inline

return the average normalized number of radiation lengths

Definition at line 115 of file MaterialAccountingGroup.h.

References m_accounting, m_tracks, and MaterialAccountingStep::radiationLengths().

Referenced by sigmaRadiationLengths().

116  {
118  }
double radiationLengths(void) const
MaterialAccountingStep m_accounting
const std::vector<GlobalPoint>& MaterialAccountingGroup::elements ( void  ) const
inline

Definition at line 166 of file MaterialAccountingGroup.h.

References m_elements.

166  {
167  return m_elements;
168  }
std::vector< GlobalPoint > m_elements
void MaterialAccountingGroup::endOfTrack ( void  )

commit the buffer and reset the "already hit by this track" flag

Definition at line 112 of file MaterialAccountingGroup.cc.

std::pair<double, double> MaterialAccountingGroup::getBoundingR ( ) const
inline

Return the bouding limit in R for the hosted Group.

Definition at line 97 of file MaterialAccountingGroup.h.

References m_boundingbox, and MaterialAccountingGroup::BoundingBox::range_r().

97 {return m_boundingbox.range_r();};
std::pair< double, double > range_r() const
std::pair<double, double> MaterialAccountingGroup::getBoundingZ ( ) const
inline

Return the bouding limit in Z for the hosted Group.

Definition at line 100 of file MaterialAccountingGroup.h.

References m_boundingbox, and MaterialAccountingGroup::BoundingBox::range_z().

100 {return m_boundingbox.range_z();};
std::pair< double, double > range_z() const
std::string MaterialAccountingGroup::info ( void  ) const

get some infos

Definition at line 177 of file MaterialAccountingGroup.cc.

bool MaterialAccountingGroup::inside ( const MaterialAccountingDetector detector) const

check if detector is inside any part of this layer

Definition at line 84 of file MaterialAccountingGroup.cc.

const std::string& MaterialAccountingGroup::name ( void  ) const
inline

get the layer name

Definition at line 151 of file MaterialAccountingGroup.h.

References m_name.

152  {
153  return m_name;
154  }
MaterialAccountingGroup& MaterialAccountingGroup::operator= ( const MaterialAccountingGroup layer)
private

stop default assignment operator

void MaterialAccountingGroup::savePlot ( TH1F *  plot,
const std::string &  name 
)
private

Definition at line 135 of file MaterialAccountingGroup.cc.

void MaterialAccountingGroup::savePlot ( TProfile *  plot,
float  average,
const std::string &  name 
)
private

Definition at line 149 of file MaterialAccountingGroup.cc.

void MaterialAccountingGroup::savePlots ( void  )

save the plots

Definition at line 188 of file MaterialAccountingGroup.cc.

double MaterialAccountingGroup::sigmaEnergyLoss ( void  ) const
inline

return the sigma of the normalized energy loss density factor for Bethe-Bloch

Definition at line 139 of file MaterialAccountingGroup.h.

References averageEnergyLoss(), MaterialAccountingStep::energyLoss(), m_errors, m_tracks, and mathSSE::sqrt().

140  {
142  }
MaterialAccountingStep m_errors
double energyLoss(void) const
double averageEnergyLoss(void) const
return the average normalized energy loss density factor for Bethe-Bloch
T sqrt(T t)
Definition: SSEVec.h:18
double MaterialAccountingGroup::sigmaLength ( void  ) const
inline

return the sigma of the normalized layer thickness

Definition at line 127 of file MaterialAccountingGroup.h.

References averageLength(), MaterialAccountingStep::length(), m_errors, m_tracks, and mathSSE::sqrt().

128  {
130  }
MaterialAccountingStep m_errors
double length(void) const
double averageLength(void) const
return the average normalized layer thickness
T sqrt(T t)
Definition: SSEVec.h:18
double MaterialAccountingGroup::sigmaRadiationLengths ( void  ) const
inline

return the sigma of the normalized number of radiation lengths

Definition at line 133 of file MaterialAccountingGroup.h.

References averageRadiationLengths(), m_errors, m_tracks, MaterialAccountingStep::radiationLengths(), and mathSSE::sqrt().

134  {
136  }
double averageRadiationLengths(void) const
return the average normalized number of radiation lengths
MaterialAccountingStep m_errors
double radiationLengths(void) const
T sqrt(T t)
Definition: SSEVec.h:18
unsigned int MaterialAccountingGroup::tracks ( void  ) const
inline

return the number of tracks that hit this layer

Definition at line 145 of file MaterialAccountingGroup.h.

References m_tracks.

146  {
147  return m_tracks;
148  }

Member Data Documentation

MaterialAccountingStep MaterialAccountingGroup::m_accounting
private
BoundingBox MaterialAccountingGroup::m_boundingbox
private

Definition at line 176 of file MaterialAccountingGroup.h.

Referenced by getBoundingR(), and getBoundingZ().

MaterialAccountingStep MaterialAccountingGroup::m_buffer
private

Definition at line 181 of file MaterialAccountingGroup.h.

bool MaterialAccountingGroup::m_counted
private

Definition at line 180 of file MaterialAccountingGroup.h.

TH1F* MaterialAccountingGroup::m_dedx_spectrum
private

Definition at line 184 of file MaterialAccountingGroup.h.

TProfile* MaterialAccountingGroup::m_dedx_vs_eta
private

Definition at line 187 of file MaterialAccountingGroup.h.

TProfile* MaterialAccountingGroup::m_dedx_vs_r
private

Definition at line 189 of file MaterialAccountingGroup.h.

TProfile* MaterialAccountingGroup::m_dedx_vs_z
private

Definition at line 188 of file MaterialAccountingGroup.h.

std::vector<GlobalPoint> MaterialAccountingGroup::m_elements
private

Definition at line 175 of file MaterialAccountingGroup.h.

Referenced by elements().

MaterialAccountingStep MaterialAccountingGroup::m_errors
private

Definition at line 178 of file MaterialAccountingGroup.h.

Referenced by sigmaEnergyLoss(), sigmaLength(), and sigmaRadiationLengths().

TFile* MaterialAccountingGroup::m_file
mutableprivate

Definition at line 195 of file MaterialAccountingGroup.h.

std::string MaterialAccountingGroup::m_name
private

Definition at line 174 of file MaterialAccountingGroup.h.

Referenced by name().

TH1F* MaterialAccountingGroup::m_radlen_spectrum
private

Definition at line 185 of file MaterialAccountingGroup.h.

TProfile* MaterialAccountingGroup::m_radlen_vs_eta
private

Definition at line 190 of file MaterialAccountingGroup.h.

TProfile* MaterialAccountingGroup::m_radlen_vs_r
private

Definition at line 192 of file MaterialAccountingGroup.h.

TProfile* MaterialAccountingGroup::m_radlen_vs_z
private

Definition at line 191 of file MaterialAccountingGroup.h.

unsigned int MaterialAccountingGroup::m_tracks
private
double const MaterialAccountingGroup::s_tolerance = 0.01
staticprivate

Definition at line 198 of file MaterialAccountingGroup.h.