#include <VP1CaloCells.h>
|
| | VP1CC_TileCrack (const CaloCell *caloCell, const TileID *tile_id, const VP1CC_SeparatorMap *separators) |
| virtual | ~VP1CC_TileCrack () |
| 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 350 of file VP1CaloCells.h.
◆ VP1CC_TileCrack()
VP1CC_Tile has already dereferenced caloCell at this point, so it can't be zero anyway if(!caloCell) throw std::runtime_error("VP1CC_TileCrack: 0 pointer to CaloCell");
Definition at line 754 of file VP1CaloCells.cxx.
761 if(!separators)
762 throw std::runtime_error("VP1CC_TileCrack: 0 pointer to VP1CC Separator Map");
763
764
766
769 else
771
772 VP1CC_SeparatorMap::const_iterator
it =
separators->find(mySeparatorType);
774 throw std::runtime_error("VP1CC_TileCrack: Missing separator in the map");
775
777
779 throw std::runtime_error("VP1CC_TileCrack: 0 pointer to the separator");
780}
@ VP1CC_SepTileNegativeDown
@ VP1CC_SepTilePositiveDown
double energy() const
get energy (data member)
VP1ExtraSepLayerHelper * m_helper
VP1CC_Tile(const CaloCell *caloCell, const TileID *tile_id)
◆ ~VP1CC_TileCrack()
| VP1CC_TileCrack::~VP1CC_TileCrack |
( |
| ) |
|
|
virtual |
◆ build3DObjects()
Implements VP1CaloCell.
Definition at line 863 of file VP1CaloCells.cxx.
868{
869 bool createNewHit = false;
871 m_hit =
new SoGenericBox();
872 createNewHit = true;
873 }
874
875 const CaloDetDescrElement* ddElement =
m_caloCell->caloDDE();
876 double eta = ddElement->
eta();
877 double deta = ddElement->
deta()*0.5;
878 double phi = ddElement->
phi();
879 double dphi = ddElement->
dphi()*0.5;
880 double z = ddElement->
z();
881 double dz = ddElement->
dz()*0.5;
883
884 double radius = ddElement->
r();
885 double minZ = std::fabs(
z)-dz;
886 double radialDistance = sqrt(radius*radius + minZ*minZ);
887
890
891
892
893
894
895
896
897
900 m_hit->drawEdgeLines = outline;
901
902 if(createNewHit) {
903 (*node2cc)[
m_hit] =
this;
905 }
906}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
float dphi() const
cell dphi
float eta() const
cell eta
float phi() const
cell phi
float deta() const
cell deta
const CaloCell * m_caloCell
double energyToTransverse(const double &) const
double cellDepth(const QPair< bool, double > &scale, const double &energy)
std::string depth
tag string for intendation
◆ 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()
Definition at line 63 of file VP1CaloCells.cxx.
64{
65
68
69
70 }
71
72
77
79 for(
const VP1Interval& i : globalCuts.
allowedPhi){
84 break;
85 }
86 }
88}
QList< VP1Interval > allowedPhi
virtual bool isInsideClipVolume(const VP1CC_GlobalCuts &globalCuts)
bool contains(const double &x) const
◆ energyToTransverse()
| double VP1CaloCell::energyToTransverse |
( |
const double & | e | ) |
const |
|
inherited |
◆ getCaloCell()
| const CaloCell * VP1CaloCell::getCaloCell |
( |
| ) |
|
|
inherited |
◆ GetFragChannel()
| int VP1CC_TileCrack::GetFragChannel |
( |
const TileHWID * | tile_hw_id, |
|
|
bool | up, |
|
|
int & | frag, |
|
|
int & | channel ) |
|
virtual |
Implements VP1CC_Tile.
Definition at line 844 of file VP1CaloCells.cxx.
848{
849 HWIdentifier hwId;
851
853
854 if(result!=0)
856
857 frag = tile_hw_id->
frag(hwId);
859
860 return 0;
861}
int frag(const HWIdentifier &id) const
extract frag field from HW identifier
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
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)
IdContext channel_context() const
idContext for channels
◆ getID()
◆ isInsideClipVolume()
Reimplemented from VP1CaloCell.
Definition at line 908 of file VP1CaloCells.cxx.
908 {
909 const CaloDetDescrElement* ddElement =
m_caloCell->caloDDE();
910 double z = ddElement->
z();
911 double dz = ddElement->
dz()*0.5;
912 double radius = ddElement->
r();
913 double minZ = std::fabs(
z)-dz;
914 double radialDistance = sqrt(radius*radius + minZ*minZ);
915
916 if ( radialDistance > globalCuts.
clipRadius )
return false;
917 return true;
918}
◆ remove3DObjects()
◆ ToString()
| std::vector< std::string > VP1CC_TileCrack::ToString |
( |
const CaloCell_ID * | calo_id, |
|
|
const std::string & | extrainfos = "" ) |
|
virtual |
Implements VP1CaloCell.
Definition at line 786 of file VP1CaloCells.cxx.
787{
788 std::vector<std::string>
result;
789 std::ostringstream
msg, msg1;
790
791 std::string stars("***");
793 result.push_back(std::string(
"TileCrack Calo Cell"));
794
795
799 else
801
802
803 std::ostringstream
modnum;
806
808 {
809 case 10:
810 {
812 break;
813 }
814 case 11:
815 {
817 break;
818 }
819 case 13:
820 {
822 break;
823 }
824 case 15:
825 {
827 break;
828 }
829 default:
830 break;
831 }
832
834
835 msg1 <<
" Energy = " <<
m_caloCell->energy() <<
" (Mev)"
838 result.push_back(msg1.str());
839
842}
int side(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
int tower(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
◆ updateScene()
Definition at line 99 of file VP1CaloCells.cxx.
104{
107 else
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
◆ m_caloCell
◆ m_helper
◆ m_hit
◆ m_tileID
| const TileID* VP1CC_Tile::m_tileID |
|
protectedinherited |
The documentation for this class was generated from the following files: