|
ATLAS Offline Software
|
#include <VP1CaloCells.h>
|
| VP1CC_TileBarEc (const CaloCell *caloCell, const TileID *tile_id, const VP1CC_SeparatorMap *separators) |
|
virtual | ~VP1CC_TileBarEc () |
|
virtual void | build3DObjects (VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &) |
|
bool | isInsideClipVolume (const VP1CC_GlobalCuts &globalCuts) |
|
virtual void | remove3DObjects (VP1CC_SoNode2CCMap *node2cc) |
|
std::vector< std::string > | ToString (const CaloCell_ID *calo_id, const std::string &extrainfos="") |
|
int | GetFragChannel (const TileHWID *tile_hw_id, bool up, int &frag, int &channel) |
|
double | energyToTransverse (const double &) const |
|
bool | cutPassed (const VP1CC_GlobalCuts &globalCuts) |
|
const CaloCell * | getCaloCell () |
|
Identifier | getID () |
|
void | updateScene (VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &globalCuts) |
|
double | cellDepth (const QPair< bool, double > &scale, const double &energy) |
|
Definition at line 313 of file VP1CaloCells.h.
◆ VP1CC_TileBarEc()
caloCell was already dereferenced in the initialiser list, so this is redundant: you've already crashed. if(!caloCell) throw std::runtime_error("VP1CC_TileBarEc: 0 pointer to CaloCell");
Definition at line 466 of file VP1CaloCells.cxx.
479 throw std::runtime_error(
"VP1CC_TileBarEc: 0 pointer to VP1CC Separator Map");
484 throw std::runtime_error(
"VP1CC_TileBarEc: CaloCell is not TileCell");
490 double energy1 = tile_cell->
ene1();
491 double energy2 = tile_cell->
ene2();
518 VP1CC_SeparatorMap::const_iterator
it =
separators->find(mySeparatorTypeDown);
520 throw std::runtime_error(
"VP1CC_TileBarEc: Missing separator helper in the map");
526 throw std::runtime_error(
"VP1CC_TileBarEc: Missing separator helper in the map");
531 throw std::runtime_error(
"VP1CC_TileBarEc: 0 pointer to one of separator helpers" );
◆ ~VP1CC_TileBarEc()
VP1CC_TileBarEc::~VP1CC_TileBarEc |
( |
| ) |
|
|
virtual |
◆ build3DObjects()
Implements VP1CaloCell.
Definition at line 598 of file VP1CaloCells.cxx.
604 bool createNewHit =
false;
612 if (not tile_cell)
return;
618 double eta = ddElement->
eta();
619 double deta = ddElement->
deta()*0.5;
620 double phi = ddElement->
phi();
621 double dphi = ddElement->
dphi()*0.5;
622 double radius = ddElement->
r();
623 double dradius = ddElement->
dr()*0.5;
625 double z = ddElement->
z();
626 double minR =
radius - dradius;
627 double radialDistance = sqrt(minR*minR +
z*
z);
642 depth1,
radius-dradius,0.9,0.9);
645 depth2,
radius-dradius,0.9,0.9);
◆ cellDepth()
double VP1CaloCell::cellDepth |
( |
const QPair< bool, double > & |
scale, |
|
|
const double & |
energy |
|
) |
| |
|
inlineinherited |
◆ cutPassed()
◆ energyToTransverse()
double VP1CaloCell::energyToTransverse |
( |
const double & |
e | ) |
const |
|
inherited |
◆ getCaloCell()
◆ GetFragChannel()
int VP1CC_TileBarEc::GetFragChannel |
( |
const TileHWID * |
tile_hw_id, |
|
|
bool |
up, |
|
|
int & |
frag, |
|
|
int & |
channel |
|
) |
| |
|
virtual |
◆ getID()
◆ id2name()
std::string VP1CC_TileBarEc::id2name |
( |
Identifier & |
id | ) |
|
|
protected |
Definition at line 686 of file VP1CaloCells.cxx.
688 std::string
name(
"");
692 name += std::string(
"LB");
694 name += std::string(
"EB");
698 name += std::string(
"A");
700 name += std::string(
"C");
703 std::ostringstream
modnum;
713 name += std::string(
"A");
720 name += std::string(
"B");
722 name += std::string(
"C");
727 name += std::string(
"B");
729 name += std::string(
"C");
735 name += std::string(
"D");
743 std::ostringstream townum;
749 name += townum.str();
◆ isInsideClipVolume()
Reimplemented from VP1CaloCell.
Definition at line 656 of file VP1CaloCells.cxx.
658 double z = ddElement->
z();
659 double radius = ddElement->
r();
660 double dradius = ddElement->
dr()*0.5;
661 double minR =
radius - dradius;
663 double radialDistance = sqrt(minR*minR +
z*
z);
665 if ( radialDistance > globalCuts.
clipRadius )
return false;
◆ remove3DObjects()
◆ ToString()
std::vector< std::string > VP1CC_TileBarEc::ToString |
( |
const CaloCell_ID * |
calo_id, |
|
|
const std::string & |
extrainfos = "" |
|
) |
| |
|
virtual |
Implements VP1CaloCell.
Definition at line 538 of file VP1CaloCells.cxx.
540 std::vector<std::string>
result;
542 if (not tile_cell)
return result;
547 double pmt_energy1 = tile_cell->ene1();
548 double pmt_time1 = tile_cell->time1();
549 double pmt_energy2 = tile_cell->ene2();
550 double pmt_time2 = tile_cell->time2();
552 std::ostringstream
msg, msg1, msg2, msg3, msg4;
553 msg <<
"Cell: " <<
id2name(cellid) <<
" " << extrainfos;
554 msg1 <<
"Energy = " << total_energy <<
" (Mev)";
555 msg2 <<
"Time = " << total_time;
556 msg3 <<
" PMT1 Energy = " << pmt_energy1 <<
" (Mev)"
557 <<
" PMT1 Time = " << pmt_time1;
558 msg4 <<
" PMT2 Energy = " << pmt_energy2 <<
" (Mev)"
559 <<
" PMT2 Time = " << pmt_time2;
561 std::string stars(
"***");
565 result.push_back(msg1.str());
566 result.push_back(msg2.str());
567 result.push_back(msg3.str());
568 result.push_back(msg4.str());
◆ updateScene()
◆ m_caloCell
◆ m_helperDown
◆ m_helperUp
◆ m_hitDown
◆ m_hitUp
◆ m_tileID
The documentation for this class was generated from the following files:
float deta() const
cell deta
IdentifierHash onl2() const
cell online identifier 2
VP1ExtraSepLayerHelper * m_helperUp
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)=0
virtual double phi() const override final
get phi (through CaloDetDescrElement)
Scalar phi() const
phi method
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
@ VP1CC_SepTileNegativeUp
virtual int get_id(const IdentifierHash &hash_id, HWIdentifier &id, const IdContext *context=0) const
create compact HW ID from hash id (return == 0 for OK)
@ VP1CC_SepTilePositiveNeg
@ VP1CC_SepTilePositiveUp
VP1ExtraSepLayerHelper * m_helperDown
Scalar eta() const
pseudorapidity method
float ene1(void) const
get energy of first PMT
std::string id2name(Identifier &id)
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
IdContext channel_context(void) const
idContext for channels
int side(const Identifier &id) const
void setParametersForBarrelEtaPhiCell(double etaMin, double etaMax, double phiMin, double phiMax, double cellDepth, double cellDistance, double etasqueezefact=1.0, double phisqueezefact=1.0)
int sample(const Identifier &id) const
QList< VP1Interval > allowedPhi
virtual bool isInsideClipVolume(const VP1CC_GlobalCuts &globalCuts)
int frag(const HWIdentifier &id) const
extract frag field from HW identifier
int tower(const Identifier &id) const
float time() const
get time (data member)
@ VP1CC_SepTileNegativeDown
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
double energy() const
get energy (data member)
IdentifierHash onl1() const
cell online identifier 1
virtual void remove3DObjects(VP1CC_SoNode2CCMap *node2cc)=0
int module(const Identifier &id) const
@ VP1CC_SepTileNegativePos
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
double energyToTransverse(const double &) const
double cellDepth(const QPair< bool, double > &scale, const double &energy)
bool contains(const double &x) const
bool cutPassed(const VP1CC_GlobalCuts &globalCuts)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
@ VP1CC_SepTilePositiveDown
const CaloCell * m_caloCell
float dphi() const
cell dphi
float ene2(void) const
get energy of second PMT
float eta() const
cell eta
float phi() const
cell phi
int section(const Identifier &id) const
bool is_tile_barrel(const Identifier &id) const
Test of an Identifier to see if it belongs to a particular part of the calorimeter.
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
VP1CC_Tile(const CaloCell *caloCell, const TileID *tile_id)
virtual double sinTh() const override final
get sin(theta) (through CaloDetDescrElement)
virtual double eta() const override final
get eta (through CaloDetDescrElement)