ATLAS Offline Software
Loading...
Searching...
No Matches
VP1CC_Tile Class Referenceabstract

#include <VP1CaloCells.h>

Inheritance diagram for VP1CC_Tile:
Collaboration diagram for VP1CC_Tile:

Public Member Functions

 VP1CC_Tile (const CaloCell *caloCell, const TileID *tile_id)
virtual ~VP1CC_Tile ()
virtual int GetFragChannel (const TileHWID *tile_hw_id, bool up, int &frag, int &channel)=0
double energyToTransverse (const double &) const
bool cutPassed (const VP1CC_GlobalCuts &globalCuts)
const CaloCellgetCaloCell ()
Identifier getID ()
void updateScene (VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &globalCuts)
virtual void build3DObjects (VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)=0
double cellDepth (const QPair< bool, double > &scale, const double &energy)
virtual bool isInsideClipVolume (const VP1CC_GlobalCuts &globalCuts)
virtual void remove3DObjects (VP1CC_SoNode2CCMap *node2cc)=0
virtual std::vector< std::string > ToString (const CaloCell_ID *calo_id, const std::string &extrainfos="")=0

Protected Attributes

const TileIDm_tileID
const CaloCellm_caloCell

Detailed Description

Definition at line 293 of file VP1CaloCells.h.

Constructor & Destructor Documentation

◆ VP1CC_Tile()

VP1CC_Tile::VP1CC_Tile ( const CaloCell * caloCell,
const TileID * tile_id )

Definition at line 454 of file VP1CaloCells.cxx.

455 :
456 VP1CaloCell(caloCell),
457 m_tileID(tile_id)
458{
459}
const TileID * m_tileID
VP1CaloCell(const CaloCell *caloCell)

◆ ~VP1CC_Tile()

VP1CC_Tile::~VP1CC_Tile ( )
virtual

Definition at line 461 of file VP1CaloCells.cxx.

462{
463}

Member Function Documentation

◆ build3DObjects()

virtual void VP1CaloCell::build3DObjects ( VP1CC_SoNode2CCMap * node2cc,
bool useEt,
const QPair< bool, double > & scale,
bool outline,
const VP1CC_GlobalCuts &  )
pure virtualinherited

◆ cellDepth()

double VP1CaloCell::cellDepth ( const QPair< bool, double > & scale,
const double & energy )
inlineinherited

Definition at line 189 of file VP1CaloCells.h.

190 { return std::max(1.0*Gaudi::Units::mm,scale.second*(scale.first?log(1+fabs(energy)):fabs(energy))); }

◆ cutPassed()

bool VP1CaloCell::cutPassed ( const VP1CC_GlobalCuts & globalCuts)
inherited

Definition at line 63 of file VP1CaloCells.cxx.

64{
65 // only do this if it's something significant
66 if (globalCuts.clipRadius<10e8){
67 if (!isInsideClipVolume(globalCuts)) return false;
68 // double radius = sqrt(m_caloCell->x()*m_caloCell->x() + m_caloCell->y()*m_caloCell->y() + m_caloCell->z()*m_caloCell->z());
69
70 }
71
72 // Check side and Eta cut
73 bool passed = (m_caloCell->eta()>=0 && globalCuts.sideA)
74 || (m_caloCell->eta()<0 && globalCuts.sideC);
75 passed = passed && globalCuts.allowedEta.contains(m_caloCell->eta());
76 if(!passed) return false;
77 // Check Phi Cut
78 passed = false;
79 for(const VP1Interval& i : globalCuts.allowedPhi){
80 if(i.contains(m_caloCell->phi())
81 ||i.contains(m_caloCell->phi()+2*M_PI)
82 ||i.contains(m_caloCell->phi()-2*M_PI)) {
83 passed = true;
84 break;
85 }
86 }
87 return passed;
88}
#define M_PI
bool passed(DecisionID id, const DecisionIDContainer &)
checks if required decision ID is in the set of IDs in the container
QList< VP1Interval > allowedPhi
VP1Interval allowedEta
const CaloCell * m_caloCell
virtual bool isInsideClipVolume(const VP1CC_GlobalCuts &globalCuts)
bool contains(const double &x) const

◆ energyToTransverse()

double VP1CaloCell::energyToTransverse ( const double & e) const
inherited

Definition at line 58 of file VP1CaloCells.cxx.

59{
60 return m_caloCell->sinTh()*e;
61}

◆ getCaloCell()

const CaloCell * VP1CaloCell::getCaloCell ( )
inherited

Definition at line 48 of file VP1CaloCells.cxx.

49{
50 return m_caloCell;
51}

◆ GetFragChannel()

virtual int VP1CC_Tile::GetFragChannel ( const TileHWID * tile_hw_id,
bool up,
int & frag,
int & channel )
pure virtual

Implemented in VP1CC_TileBarEc, and VP1CC_TileCrack.

◆ getID()

Identifier VP1CaloCell::getID ( )
inherited

Definition at line 53 of file VP1CaloCells.cxx.

54{
55 return m_caloCell->ID();
56}

◆ isInsideClipVolume()

bool VP1CaloCell::isInsideClipVolume ( const VP1CC_GlobalCuts & globalCuts)
virtualinherited

Reimplemented in VP1CC_TileBarEc, and VP1CC_TileCrack.

Definition at line 90 of file VP1CaloCells.cxx.

90 {
91 const CaloDetDescrElement* ddElement = m_caloCell->caloDDE();
92 double radius = ddElement->r();
93 double z = ddElement->z();
94 double radialDistance = sqrt(radius*radius + z*z);
95 if (radialDistance < globalCuts.clipRadius ) return true;
96 return false;
97}
#define z

◆ remove3DObjects()

virtual void VP1CaloCell::remove3DObjects ( VP1CC_SoNode2CCMap * node2cc)
pure virtualinherited

Implemented in VP1CC_LAr, VP1CC_TileBarEc, and VP1CC_TileCrack.

◆ ToString()

virtual std::vector< std::string > VP1CaloCell::ToString ( const CaloCell_ID * calo_id,
const std::string & extrainfos = "" )
pure virtualinherited

◆ updateScene()

void VP1CaloCell::updateScene ( VP1CC_SoNode2CCMap * node2cc,
bool useEt,
const QPair< bool, double > & scale,
bool outline,
const VP1CC_GlobalCuts & globalCuts )
inherited

Definition at line 99 of file VP1CaloCells.cxx.

104{
105 if(cutPassed(globalCuts))
106 build3DObjects(node2cc,useEt,scale,outline, globalCuts);
107 else
108 remove3DObjects(node2cc);
109}
virtual void remove3DObjects(VP1CC_SoNode2CCMap *node2cc)=0
bool cutPassed(const VP1CC_GlobalCuts &globalCuts)
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)=0

Member Data Documentation

◆ m_caloCell

const CaloCell* VP1CaloCell::m_caloCell
protectedinherited

Definition at line 204 of file VP1CaloCells.h.

◆ m_tileID

const TileID* VP1CC_Tile::m_tileID
protected

Definition at line 307 of file VP1CaloCells.h.


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